在Java如何创建一个文件和写入一个文件

0 投票
最新提问 2月 14, 2017 用户: winter (340 分)

在Java中创建和写入(文本)文件的最简单的方法是什么,求范例

1个回答

0 投票
最新回答 2月 14, 2017 用户: 高手 (380 分)

创建文本文件(请注意,如果文件已经存在,将覆盖该文件,文件大小恢复为0):

try{
    PrintWriter writer = new PrintWriter("the-file-name.txt", "UTF-8");
    writer.println("The first line");
    writer.println("The second line");
    writer.close();
} catch (IOException e) {
   // do something
}

创建二进制文件(也将覆盖文件):

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, Charset.forName("UTF-8"));
//Files.write(file, lines, Charset.forName("UTF-8"), StandardOpenOption.APPEND);

创建二进制文件:

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

在Java 7及以上版本中,还可以使用下面的代码:

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

有一些有用的实用程序:

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

下面是原始的代码


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*/}
}

参见:读,写和创建文件

 

欢迎来到编程助手,编程方面有什么不懂的问题可以尽管在这里提问,你将会收到热心爱好者的回答。
...