如何在 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