Bài viết này trình bày 5 cách khác nhau để ghi file trong Java. Các đoạn code kiểm tra sự tồn tại của file trước khi ghi, nếu không tồn tại thì tạo mới.
Ghi file dùng BufferedWriter
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class WriteToFile {
public static void main(String[] args) {
try {
String content = "Nội dung ghi vào file";
File file = new File("writefile.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file);
BufferedWriter bw = new BufferedWriter(fw);
bw.write(content);
bw.close();
} catch (IOException ex) {
System.out.println("Exception occurred:");
ex.printStackTrace();
}
}
}
Lưu ý: Để ghi thêm (append) vào file, khởi tạo FileWriter với tham số true:
FileWriter fw = new FileWriter(file, true);
- Cách tạo file trong Java
- Cách lấy thư mục làm việc hiện tại trong Java
Ghi file dùng PrintWriter
import java.io.*;
public class WriteToFile {
public static void main(String[] args) {
try {
String content = "Nội dung ghi vào file";
File file = new File("writefile.txt");
if (!file.exists()) {
file.createNewFile();
}
FileWriter fw = new FileWriter(file);
PrintWriter pw = new PrintWriter(fw);
pw.write(content);
pw.close();
} catch (IOException ex) {
System.out.println("Exception occurred:");
ex.printStackTrace();
}
}
}
Ghi file dùng FileOutputStream
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
public class WriteToFile {
public static void main(String[] args) {
try {
String content = "Nội dung ghi vào file";
File file = new File("writefile.txt");
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream outStream = new FileOutputStream(file);
byte[] strToBytes = content.getBytes();
outStream.write(strToBytes);
outStream.close();
} catch (IOException ex) {
System.out.println("Exception occurred:");
ex.printStackTrace();
}
}
}
Ghi file dùng lớp Files (Java NIO)
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class WriteToFile {
public static void main(String[] args) {
Path path = Paths.get("writefile.txt");
String content = "Nội dung ghi vào file";
try {
byte[] bytes = content.getBytes();
Files.write(path, bytes);
} catch (IOException ex) {
System.out.println("Exception occurred:");
ex.printStackTrace();
}
}
}
Ghi file dùng DataOutputStream
import java.io.*;
public class WriteToFile {
public static void main(String[] args) {
String content = "Nội dung ghi vào file";
try {
File file = new File("writefile.txt");
if (!file.exists()) {
file.createNewFile();
}
FileOutputStream fos = new FileOutputStream(file);
BufferedOutputStream bos = new BufferedOutputStream(fos);
DataOutputStream dataOutStream = new DataOutputStream(bos);
dataOutStream.writeUTF(content);
dataOutStream.close();
} catch (IOException ex) {
System.out.println("Exception occurred:");
ex.printStackTrace();
}
}
}