logo

Obsługa plików w Javie przy użyciu FileWriter i FileReader

Klasy Java FileWriter i FileReader służą do zapisu i odczytu danych z plików tekstowych (są to Strumień postaci zajęcia). Jest to zalecane nie aby użyć klas FileInputStream i FileOutputStream, jeśli musisz czytać i zapisywać jakiekolwiek informacje tekstowe, ponieważ są to klasy strumienia Byte.
 

FileWriter
FileWriter jest przydatny do tworzenia pliku i zapisywania w nim znaków. 

monitor kineskopowy
  • Ta klasa dziedziczy po klasie OutputStream.
  • Konstruktory tej klasy zakładają, że domyślne kodowanie znaków i domyślny rozmiar bufora bajtowego są dopuszczalne. Aby samodzielnie określić te wartości, skonstruuj OutputStreamWriter na FileOutputStream. 
     
  • FileWriter przeznaczony jest do zapisywania strumieni znaków. Do zapisywania strumieni nieprzetworzonych bajtów rozważ użycie FileOutputStream.
  • FileWriter tworzy plik wyjściowy, jeśli jeszcze go nie ma.


Konstruktorzy:  



    FileWriter (plik pliku) -Konstruuje obiekt FileWriter, biorąc pod uwagę obiekt File.FileWriter (dołączanie wartości logicznej pliku pliku) -konstruuje obiekt FileWriter, mając obiekt File.FileWriter (FileDescriptor fd) -konstruuje obiekt FileWriter powiązany z deskryptorem pliku.FileWriter (ciąg znaków nazwa_pliku) -konstruuje obiekt FileWriter, któremu nadano nazwę pliku.FileWriter (dodanie wartości logicznej ciągu nazwy pliku) -Konstruuje obiekt FileWriter, któremu nadano nazwę pliku z wartością logiczną wskazującą, czy zapisać zapisane dane.


Metody:  

    public void write (int c) zgłasza wyjątek IOException -Zapisuje pojedynczy znak.public void write (char [] stir) zgłasza wyjątek IOException -Zapisuje tablicę znaków.public void write(String str) zgłasza wyjątek IOException -Zapisuje ciąg.public void write(String str int wyłączone int len) zgłasza wyjątek IO - Zapisuje część ciągu. Tutaj off jest przesunięciem, od którego należy rozpocząć pisanie znaków, a len to liczba znaków do zapisania.public void Flush() zgłasza wyjątek IOExceptionspłukuje strumieńpublic void close() zgłasza wyjątek IOExceptionnajpierw opróżnia strumień, a następnie zamyka moduł zapisujący.


Odczyt i zapis odbywają się znak po znaku, co zwiększa liczbę operacji we/wy i wpływa na wydajność systemu. Buforowany zapis można używać razem z FileWriter w celu poprawy szybkości wykonywania.
Poniższy program przedstawia sposób tworzenia pliku tekstowego przy użyciu programu FileWriter
 

Java
// Creating a text File using FileWriter import java.io.FileWriter; import java.io.IOException; class CreateFile {  public static void main(String[] args) throws IOException  {  // Accept a string   String str = 'File Handling in Java using '+  ' FileWriter and FileReader';  // attach a file to FileWriter   FileWriter fw=new FileWriter('output.txt');  // read character wise from string and write   // into FileWriter   for (int i = 0; i < str.length(); i++)  fw.write(str.charAt(i));  System.out.println('Writing successful');  //close the file   fw.close();  } }  

Czytnik plików

FileReader jest przydatny do odczytywania danych w postaci znaków z pliku „tekstowego”. 

  • Ta klasa jest dziedziczona z klasy InputStreamReader.
  • Konstruktory tej klasy zakładają, że domyślne kodowanie znaków i domyślny rozmiar bufora bajtowego są odpowiednie. Aby samodzielnie określić te wartości, skonstruuj wejściowy element wejściowy na elemencie FileInputStream. 
     
  • FileReader przeznaczony jest do odczytywania strumieni znaków. Do odczytu strumieni nieprzetworzonych bajtów rozważ użycie FileInputStream.


Konstruktorzy:  

    FileReader (plik pliku) -Tworzy FileReader, biorąc pod uwagę plik, z którego ma zostać odczytanyFileReader(FileDescripter fd) -Tworzy nowy FileReader, biorąc pod uwagę FileDescripter do odczytuFileReader (ciąg nazwy pliku) -Tworzy nowy FileReader, podając nazwę pliku, z którego ma zostać odczytany


Metody:  

    public int read() zgłasza wyjątek IOException -Czyta pojedynczy znak. Ta metoda będzie blokowana do momentu udostępnienia znaku, wystąpienia błędu we/wy lub osiągnięcia końca strumienia.public int read(char[] cbuff) zgłasza wyjątek IOException -Wczytuje znaki do tablicy. Ta metoda będzie blokowana do czasu udostępnienia danych wejściowych, wystąpienia błędu we/wy lub osiągnięcia końca strumienia.public streszczenie int read(char[] buff int off int len) zgłasza wyjątek IOException -Wczytuje znaki do części tablicy. Ta metoda będzie blokowana do czasu udostępnienia danych wejściowych, wystąpienia błędu we/wy lub osiągnięcia końca strumienia. 
    Parametry: 
    cbuf – Bufor docelowy 
    off - Przesunięcie, od którego należy rozpocząć zapisywanie znaków 
    len – Maksymalna liczba znaków do odczytania 
     public void close() zgłasza wyjątek IOExceptionzamyka czytelnika.publiczne długie pomijanie (long n) zgłasza wyjątek IOException -Pomija znaki. Ta metoda będzie blokowana do czasu udostępnienia niektórych znaków, wystąpienia błędu we/wy lub osiągnięcia końca strumienia. 
    Parametry: 
    n — liczba znaków do pominięcia 


Poniższy program pokazuje, jak czytać z pliku „tekstowego” za pomocą FileReadera
 

jak uzyskać dostęp do zdjęć w icloud
Java
// Reading data from a file using FileReader import java.io.FileNotFoundException; import java.io.FileReader; import java.io.IOException; class ReadFile {  public static void main(String[] args) throws IOException  {  // variable declaration  int ch;  // check if File exists or not  FileReader fr=null;  try  {  fr = new FileReader('text');  }  catch (FileNotFoundException fe)  {  System.out.println('File not found');  }  // read from FileReader till the end of file  while ((ch=fr.read())!=-1)  System.out.print((char)ch);  // close the file  fr.close();  } } 

 

Utwórz quiz