Zapis Java do pliku

Java Write File



Aby tymczasowo lub na stałe przechowywać dane do celów programistycznych, musimy zapisać dane do pliku. W Javie istnieje wiele klas i metod służących do zapisywania danych w pliku. W tym samouczku pokazano, w jaki sposób różne klasy i metody mogą być używane w Javie do zapisywania danych w pliku.

Kilka niezbędnych klas i metody zapisu pliku:

Metoda writeString():

Ta metoda jest obsługiwana przez Javę w wersji 11. Może przyjmować cztery parametry. Są to ścieżka pliku, sekwencja znaków, zestaw znaków i opcje. Pierwsze dwa parametry są obowiązkowe, aby ta metoda zapisywała do pliku. Zapisuje znaki jako zawartość pliku. Zwraca ścieżkę pliku i może zgłosić cztery typy wyjątków. Lepiej używać, gdy zawartość pliku jest krótka.







Klasa FileWriter:

Jeśli zawartość pliku jest krótka, użyj FileWriter klasa do zapisu w pliku to kolejna lepsza opcja. Zapisuje również strumień znaków jako zawartość pliku, np. writeString() metoda. Konstruktor tej klasy definiuje domyślne kodowanie znaków i domyślny rozmiar bufora w bajtach.



Klasa buforowanego zapisu:

Służy do zapisywania tekstu w strumieniu znakowym. Ma domyślny rozmiar bufora, ale można przypisać duży rozmiar bufora. Przydaje się do pisania znaków, łańcuchów i tablic. Lepiej jest owinąć tę klasę dowolną klasą piszącą do zapisywania danych do pliku, jeśli nie jest wymagane żadne wyjście.



Klasa FileOutputStream:

Służy do zapisywania nieprzetworzonych danych strumieniowych do pliku. Klasy FileWriter i BufferedWriter służą do zapisywania tylko tekstu do pliku, ale dane binarne można zapisywać przy użyciu klasy FileOutputStream.





Poniższe przykłady pokazują zastosowania wspomnianej metody i klas.

Przykład-1: Zapis do pliku za pomocą metody writeString()

Poniższy przykład pokazuje użycie writeString() metoda, która jest pod Pliki klasa do zapisywania danych do pliku. Kolejna klasa, Ścieżka, służy do przypisania nazwy pliku ze ścieżką, w której zostanie zapisana zawartość. Pliki klasa ma inną metodę o nazwie przeczytajString () odczytać zawartość dowolnego istniejącego pliku, który jest używany w kodzie, aby sprawdzić, czy zawartość jest poprawnie zapisana w pliku.



import java.nio.plik.Pliki;
import java.nio.plik.Ścieżka;
import java.io.IOException;

publiczny klasafwrite1{

publiczny statyczny próżniaGłówny( Strunowy []argumenty) rzuty IOException
{
//Przypisz zawartość pliku
Strunowy tekst= 'Witamy w Linuxhint Naucz się języka Java od podstaw”;

//Zdefiniuj nazwę pliku
Nazwa pliku ścieżki=Ścieżka.z('plik1.txt');

//Zapisz do pliku
Pliki.NapiszCiąg(nazwa pliku, tekst);

//Odczytaj zawartość pliku
Strunowy zawartość_pliku=Pliki.przeczytajCiąg(Nazwa pliku);

//Wydrukuj zawartość pliku
System .na zewnątrz.drukuj(zawartość_pliku);
}
}

Wyjście:

Poniższe dane wyjściowe pojawią się po uruchomieniu kodu. Tutaj w pliku, który jest wyświetlany na wyjściu, zapisywane są dwa wiersze.

Przykład-2: Zapis do pliku przy użyciu klasy FileWriter

Poniższy przykład pokazuje użycie klasy FileWriter do zapisywania zawartości do pliku. Wymaga utworzenia obiektu klasy FileWriter z nazwą pliku do zapisu do pliku. Następny, pismo() metoda służy do zapisania wartości tekst zmienna w pliku. Jeśli podczas zapisywania pliku wystąpi jakikolwiek błąd, zostanie zgłoszony wyjątek IO, a komunikat o błędzie zostanie wydrukowany z bloku catch.

//Importuj niezbędne pakiety
import java.io.FileWriter;
import java.io.IOException;

publiczny klasafwrite2{

publiczny statyczny próżniaGłówny( Strunowy []argumenty) {

//Przypisz zawartość pliku
Strunowy tekst= „Najnowsza wersja Java zawiera ważne ulepszenia”
w celu poprawy wydajności, '
+ „stabilność i bezpieczeństwo Javy”
aplikacje działające na Twoim komputerze. '
;
próbować
{
//Utwórz obiekt FileWriter do zapisu w pliku
FileWriter fPisarz= Nowy FileWriter ('plik2.txt');

//Zapisz do pliku
fPisarz.pisać(tekst);

//Wydrukuj wiadomość o sukcesie
System .na zewnątrz.wydrukować('Plik z zawartością został pomyślnie utworzony.');

//Zamknij obiekt zapisujący plik
fPisarz.blisko();
}
łapać ( IOException I)
{
//Wydrukuj komunikat o błędzie
System .na zewnątrz.wydrukować(I.pobierz wiadomość());
}
}
}

Wyjście:

Jeśli zawartość pliku zostanie pomyślnie zapisana w pliku, pojawią się następujące dane wyjściowe. Możesz sprawdzić folder projektu, aby potwierdzić, że plik został utworzony poprawnie, czy nie.

Przykład-3: Zapis do pliku przy użyciu klasy BufferedWriter

Poniższy przykład pokazuje użycie klasy BufferedWriter do zapisu do pliku. Wymaga również utworzenia obiektu klasy BufferedWriter, takiego jak FileWriter, aby zapisać zawartość do pliku. Ale ta klasa obsługuje dużą zawartość do zapisania w pliku przy użyciu dużego rozmiaru buforu.

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
publiczny klasafwrite3{

publiczny statyczny próżniaGłówny( Strunowy []argumenty) {

//Przypisz zawartość pliku
Strunowy tekst= 'Ucz się Java z łatwością z LinuxHint';

próbować {

//Utwórz obiekt BufferedWriter
Zbuforowany zapis f_writer= Nowy Zbuforowany zapis (Nowy FileWriter ('plik3.txt'));
f_writer.pisać(tekst);

//Wydrukuj wiadomość o sukcesie
System .na zewnątrz.wydrukować('Plik z zawartością został pomyślnie utworzony.');

//Zamknij obiekt BufferedWriter
f_writer.blisko();
}
łapać ( IOException I)
{
//Wydrukuj komunikat o błędzie
System .na zewnątrz.wydrukować(I.pobierz wiadomość());
}
}
}

Wyjście:

Jeśli zawartość pliku zostanie pomyślnie zapisana w pliku, pojawią się następujące dane wyjściowe. Możesz sprawdzić folder projektu, aby potwierdzić, że plik został utworzony poprawnie, czy nie.

Przykład-4: Zapis do pliku przy użyciu klasy FileOutputStream

Poniższy przykład przedstawia zapis danych do pliku przy użyciu klasy FileOutputStream. Wymaga również utworzenia obiektu klasy o nazwie pliku, aby zapisać dane do pliku. Tutaj zawartość ciągu jest konwertowana na tablicę bajtów, która jest zapisywana w pliku za pomocą pisać() metoda.

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

publiczny klasafwrite4{

publiczny statyczny próżniaGłówny( Strunowy []argumenty) {

//Przypisz zawartość pliku
Strunowy zawartość pliku= 'Witamy w LinuxHint';

próbować {
//Utwórz obiekt FileOutputStream
FileOutputStream strumień wyjściowy= Nowy FileOutputStream ('plik4.txt');

//przechowuj zawartość bajtów z ciągu
bajt[]strToBajtów=zawartość pliku.getBytes();

//Zapisz do pliku
strumień wyjściowy.pisać(strToBajtów);

//Wydrukuj wiadomość o sukcesie
System .na zewnątrz.wydrukować('Plik z zawartością został pomyślnie utworzony.');

//Zamknij obiekt
strumień wyjściowy.blisko();
}
łapać ( IOException I)
{
//Wydrukuj komunikat o błędzie
System .na zewnątrz.wydrukować(I.pobierz wiadomość());
}
}
}

Wyjście:

Jeśli zawartość pliku zostanie pomyślnie zapisana w pliku, pojawią się następujące dane wyjściowe. Możesz sprawdzić folder projektu, aby potwierdzić, że plik został utworzony poprawnie, czy nie.

Wniosek:

W tym samouczku przedstawiono wiele sposobów zapisu do pliku przy użyciu różnych klas Java. Użytkownik może wybrać dowolną z wymienionych tutaj klas, aby zapisać do pliku na podstawie zawartości pliku.