Zápis do souboru v Javě – 4 způsoby zápisu do souboru v Javě

Zápis do souboru v Javě – 4 způsoby zápisu do souboru v Javě

Úvod

Zapisování dat do souborů je v programování základním úkolem. V Javě existuje několik způsobů, jak toho dosáhnout, každý s vlastními výhodami a nevýhodami. V tomto článku si ukážeme čtyři nejčastěji používané způsoby zápisu do souboru v Javě.

Způsoby zápisu do souboru

1. Zapisování pomocí třídy FileWriter

Třída FileWriter z balíčku java.io poskytuje jednoduché rozhraní pro zápis do souborů. Zde je příklad, jak jej použít:

java
import java.io.FileWriter;
import java.io.IOException;

public class ZapisFileWriter {
public static void main(String[] args) {
// Vytvoření objektu FileWriter
FileWriter fw = null;
try {
fw = new FileWriter("soubor.txt");

// Zápis řetězce do souboru
fw.write("Ahoj, světe!");
} catch (IOException e) {
e.printStackTrace();
} finally {
// Uzavření objektu FileWriter
try {
if (fw != null) {
fw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

2. Zapisování pomocí třídy BufferedWriter

Třída BufferedWriter z balíčku java.io poskytuje vyrovnávací paměť pro třídu FileWriter. To může urychlit proces zápisu, zejména při zápisu velkého množství dat. Zde je příklad, jak ji použít:

java
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

public class ZapisBufferedWriter {
public static void main(String[] args) {
// Vytvoření objektu BufferedWriter
BufferedWriter bw = null;
try {
bw = new BufferedWriter(new FileWriter("soubor.txt"));

// Zápis řetězce do souboru
bw.write("Ahoj, světe!");
} catch (IOException e) {
e.printStackTrace();
} finally {
// Uzavření objektu BufferedWriter
try {
if (bw != null) {
bw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

3. Zapisování pomocí třídy PrintWriter

Třída PrintWriter z balíčku java.io poskytuje pohodlné rozhraní pro zápis primitivních datových typů a objektů do souboru. Zde je příklad, jak jej použít:

java
import java.io.PrintWriter;
import java.io.FileWriter;
import java.io.IOException;

public class ZapisPrintWriter {
public static void main(String[] args) {
// Vytvoření objektu PrintWriter
PrintWriter pw = null;
try {
pw = new PrintWriter(new FileWriter("soubor.txt"));

// Zápis primitivního datového typu
pw.println("Ahoj, světe!");

// Zápis objektu
pw.println(new Integer(42));
} catch (IOException e) {
e.printStackTrace();
} finally {
// Uzavření objektu PrintWriter
try {
if (pw != null) {
pw.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

4. Zapisování pomocí třídy FileOutputStream

Třída FileOutputStream z balíčku java.io umožňuje zápis bajtových dat do souboru. Zde je příklad, jak jej použít:

java
import java.io.FileOutputStream;
import java.io.IOException;

public class ZapisFileOutputStream {
public static void main(String[] args) {
// Vytvoření objektu FileOutputStream
FileOutputStream fos = null;
try {
fos = new FileOutputStream("soubor.txt");

// Zápis bajtových dat do souboru
fos.write("Ahoj, světe!".getBytes());
} catch (IOException e) {
e.printStackTrace();
} finally {
// Uzavření objektu FileOutputStream
try {
if (fos != null) {
fos.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}

Závěr

Zápis do souborů je základní operací v programování. V Javě existuje několik způsobů, jak toho dosáhnout, každý s vlastními výhodami a nevýhodami. Výše jsme si ukázali čtyři nejčastěji používané způsoby zápisu do souboru v Javě. Při výběru vhodného způsobu pro váš projekt zvažte faktory, jako je výkon, snadnost použití a požadované funkce.

Časté dotazy

1. Který způsob zápisu do souboru je nejrychlejší? – Zápis pomocí tříd BufferedWriter a PrintWriter je obecně rychlejší než zápis pomocí tříd FileWriter a FileOutputStream.
2. Který způsob zápisu do souboru je nejsnadněji použitelný? – Třída PrintWriter poskytuje nejjednodušší způsob zápisu do souboru.
3. Jak zapíšu data do souboru, který již existuje? – Při vytváření objektu FileWriter nebo FileOutputStream zadejte jako argument příznak true pro příznak append. To způsobí, že se nová data zapíší na konec existujícího souboru.
4. Jak zapíšu řádek po řádku do souboru? – Třída PrintWriter poskytuje metodu println, která umožňuje zápis řetězce následovaný koncem řádku do souboru.
5. Jak zapíšu objekt do souboru? – Třída PrintWriter poskytuje metodu println, která umožňuje zápis objektu do souboru. Objekt bude převeden na řetězec a poté zapsán do souboru.
6. Jak zapíšu bajtová data do souboru? – Třída FileOutputStream umožňuje zápis bajtových dat do souboru. Bajtová data lze získat pomocí metody getBytes z třídy String nebo pomocí instance obálky primitivních datových typů.
7. Jak zajistit, aby byla data v souboru zapsána trvale? – Po dokončení zápisu do souboru zavolejte metodu flush na objektu Writer nebo OutputStream. To zajistí, že všechna data v mezipaměti budou zapsána do souboru.
8. Jak zkontrolovat, zda je soubor úspěšně zapsán? – Po zavolání metody flush zkontrolujte výjimky týkající se vstupu/výstupu. Pokud nedošlo k žádným výjimkám, data byla úspěšně zapsána do souboru.

  13 online kurzů, které vám pomohou stát se certifikovaným produktovým manažerem