如何创建文件并写入文件?

新手上路,请多包涵
阅读 663
2 个回答

请注意,下面的每个代码示例都可能抛出 IOException 。为简洁起见,省略了 Try/catch/finally 块。有关异常处理的信息,请参阅 本教程

请注意,如果文件已经存在,下面的每个代码示例都将覆盖该文件

创建文本文件:

 PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
writer.println("The first line");
writer.println("The second line");
writer.close();

创建二进制文件:

 byte data[] = ...
FileOutputStream out = new FileOutputStream("the-file-name");
out.write(data);
out.close();

Java 7+ 用户可以使用 Files 类写入文件:

创建文本文件:

 List<String> lines = Arrays.asList("The first line", "The second line");
Path file = Paths.get("the-file-name.txt");
Files.write(file, lines, StandardCharsets.UTF_8);
//Files.write(file, lines, StandardCharsets.UTF_8, StandardOpenOption.APPEND);

创建二进制文件:

 byte data[] = ...
Path file = Paths.get("the-file-name");
Files.write(file, data);
//Files.write(file, data, StandardOpenOption.APPEND);

原文由 Michael 发布,翻译遵循 CC BY-SA 4.0 许可协议

在 Java 7 及更高版本中:

 try (Writer writer = new BufferedWriter(new OutputStreamWriter(
              new FileOutputStream("filename.txt"), "utf-8"))) {
   writer.write("something");
}

虽然有一些有用的实用程序:

另请注意,您 可以 使用 FileWriter ,但它使用默认编码,这通常不是一个好主意 - 最好明确指定编码。

以下是 Java 7 之前的原始答案


Writer writer = null;

try {
    writer = new BufferedWriter(new OutputStreamWriter(
          new FileOutputStream("filename.txt"), "utf-8"));
    writer.write("Something");
} catch (IOException ex) {
    // Report
} finally {
   try {writer.close();} catch (Exception ex) {/*ignore*/}
}

另请参阅: 读取、写入和创建文件(包括 NIO2)。

原文由 Bozho 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题