Rumah >Java >javaTutorial >Bagaimanakah saya boleh menambah data pada fail menggunakan FileOutputStream tanpa menulis ganti kandungan sedia ada?

Bagaimanakah saya boleh menambah data pada fail menggunakan FileOutputStream tanpa menulis ganti kandungan sedia ada?

Susan Sarandon
Susan Sarandonasal
2024-10-26 22:47:03255semak imbas

How can I append data to a file using FileOutputStream without overwriting existing content?

Menulis Data ke Fail tanpa Mengganti Kandungan Sedia Ada Menggunakan FileOutputStream

Apabila bekerja dengan FileOutputStream, adalah penting untuk mempertimbangkan bagaimana proses penulisan data mempengaruhi kandungan sedia ada fail. Secara lalai, FileOutputStream menimpa sebarang data sedia ada, yang boleh menjadi masalah jika anda tidak mahu kehilangan kandungan asal.

Memelihara Data Sedia Ada dengan FileOutputStream

Untuk mengekalkan data sedia ada dalam fail semasa menulis melalui FileOutputStream, pembina yang mengambil Fail dan hujah boolean boleh digunakan:

<code class="java">FileOutputStream(File file, boolean append)</code>

Dengan menetapkan hujah boolean kepada benar, data yang ditulis pada fail akan menjadi dilampirkan pada penghujung dan bukannya menimpa kandungan sedia ada. Ini membolehkan anda menambah data baharu tanpa kehilangan maklumat lama.

Contoh

Kod berikut menunjukkan cara menggunakan FileOutputStream dengan bendera tambah untuk menambahkan data ke fail:

<code class="java">import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

public class FileWriter {

    public static void main(String[] args) {
        try {
            File file = new File("test.txt");

            // Create a FileOutputStream with append=true to preserve old data
            FileOutputStream fos = new FileOutputStream(file, true);

            // Write data to the file
            fos.write("New data to append".getBytes());

            fos.close();
            System.out.println("Data appended to file successfully.");
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}</code>

Dalam contoh ini, data yang ditulis pada "test.txt" akan dilampirkan pada penghujung mana-mana kandungan sedia ada. Ini membolehkan kami mengemas kini fail sambil mengekalkan data asal.

Atas ialah kandungan terperinci Bagaimanakah saya boleh menambah data pada fail menggunakan FileOutputStream tanpa menulis ganti kandungan sedia ada?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn