如何在 Java 中创建文件并向其写入数据
Hassan Saeed
2023年1月30日
2020年9月19日
- 使用 PrintWriter 创建 Java 文件
-
在 Java 中用
Files
创建文件 -
在 Java 中用
BufferedWriter
创建文件 -
在 Java 中用
FileWriter
创建文件
本教程讨论了在 Java 中创建文本文件并向其写入数据的方法。
Java 有多种创建文件的方法。需要记住的是,try-catch
块几乎是所有创建文件方法所必需的,这样任何 IO 异常都会被优雅地处理。不要忘记使用它。
使用 PrintWriter 创建 Java 文件
Java 中的 PrintWriter
允许你用指定的编码创建一个新文件。下面来举一个例子。
import java.io.*;
public class Main {
public static void main(String[] args) {
String fileName = "my-file.txt";
String encoding = "UTF-8";
try{
PrintWriter writer = new PrintWriter(fileName, encoding);
writer.println("The first line");
writer.println("The second line");
writer.close();
}
catch (IOException e){
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
在 Java 中用 Files
创建文件
我们也可以使用 java.nio.file
来创建一个文件,并向其中写入数据。下面的例子说明了这种方法。
import java.io.*;
import java.util.*;
import java.nio.file.*;
import java.nio.charset.*;
public class Main {
public static void main(String[] args) {
String fileName = "my-file.txt";
try{
List<String> lines = Arrays.asList("The first line", "The second line");
Path file = Paths.get(fileName);
Files.write(file, lines, StandardCharsets.UTF_8);
}
catch (IOException e){
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
在这个例子中,我们将 ArrayList
中的数据写入文件,这样 ArrayList
中的每一个元素都被写入输出文件中的新行。输出文件如下所示:
> The first line
> The second line
在 Java 中用 BufferedWriter
创建文件
下面的例子说明了使用 BufferedWriter
创建并写入一个文件。
import java.io.*;
import java.nio.charset.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Charset utf8 = StandardCharsets.UTF_8;
List<String> list = Arrays.asList("This is the first line", "This is the second line");
String content = "This is my content";
try
{
//File name with path
String fileName = "my-file.txt";
File myFile = new File(fileName);
FileOutputStream fos = new FileOutputStream(myFile);
OutputStreamWriter osw = new OutputStreamWriter(fos);
Writer writer = new BufferedWriter(osw);
//Write data using a String variable
writer.write(content + "\n");
//Write data from an ArrayList
for (String s : list) {
writer.write(s + "\n");
}
}
catch (IOException e){
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
输出文件如下所示:
> This is my content
> This is the first line
> This is the second line
在 Java 中用 FileWriter
创建文件
另一种在 Java 中创建新文件并写入文件的常用方法是使用 FileWriter
。
import java.io.*;
public class Main {
public static void main(String[] args) {
try {
FileWriter myWriter = new FileWriter("my-file.txt");
myWriter.write("We can also create a file and write to it using FileWriter");
myWriter.close();
}
catch (IOException e) {
System.out.println("An error occurred.");
e.printStackTrace();
}
}
}
输出文件如下所示:
> We can also create a file and write to it using FileWriter