Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Java

Ghi file trong Java: 5 ví dụ thực tế

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();
        }
    }
}