Sobes.tech
Junior — Middle

Csak a FileOutputStream használata íráskor felülírja a fájlban lévő meglévő adatokat?

sobes.tech MI

Válasz az MI-től

Igen, a FileOutputStream konstruktor használatakor extra paraméterek nélkül a fájl írásra nyílik meg felülírással, azaz a fájlban lévő meglévő adatok felülíródnak az újakkal.

Példa:

try (FileOutputStream fos = new FileOutputStream("file.txt")) {
    String data = "Új adatok";
    fos.write(data.getBytes());
}

Ha a fájl végéhez szeretnénk hozzáfűzni adatokat, akkor a append paraméterrel ellátott konstruktor használata szükséges:

FileOutputStream fos = new FileOutputStream("file.txt", true); // true — hozzáfűzéshez

Így alapértelmezés szerint a fájl tartalma felülíródik.