logo

Обробка файлів у Java за допомогою FileWriter і FileReader

Класи Java FileWriter і FileReader використовуються для запису та читання даних із текстових файлів (вони є Потік символів класи). Рекомендується ні використовувати класи FileInputStream і FileOutputStream, якщо вам потрібно читати та записувати будь-яку текстову інформацію, оскільки це класи потоку байтів.
 

FileWriter
FileWriter корисний для створення файлу, записуючи в нього символи. 

  • Цей клас успадковує клас OutputStream.
  • Конструктори цього класу припускають, що стандартне кодування символів і стандартний розмір байтового буфера прийнятні. Щоб самостійно вказати ці значення, створіть OutputStreamWriter на FileOutputStream. 
     
  • FileWriter призначений для запису потоків символів. Для запису потоків необроблених байтів розгляньте можливість використання FileOutputStream.
  • FileWriter створює вихідний файл, якщо його ще немає.


Конструктори:  



кислотні властивості в dbms
    FileWriter(файловий файл) -Створює об’єкт FileWriter із заданим об’єктом File.FileWriter (додавання логічного значення файлу) -створює об’єкт FileWriter, заданий об’єктом File.FileWriter (FileDescriptor fd) -створює об'єкт FileWriter, пов'язаний з дескриптором файлу.FileWriter (String fileName) -створює об’єкт FileWriter із заданим ім’ям файлу.FileWriter (String fileName Boolean append) -Створює об’єкт FileWriter, якому присвоєно ім’я файлу з логічним значенням, яке вказує, чи потрібно додавати записані дані.


Методи:  

    public void write (int c) викидає IOException -Пише один символ.public void write (char [] stir) викидає IOException -Записує масив символів.public void write(String str)викидає IOException -Записує рядок.public void write(String str int вимкнено int len) викидає IOException - Записує частину рядка. Тут off — це зміщення, з якого потрібно почати запис символів, а len — це кількість символів для запису.public void flush() створює IOExceptionзмиває потікpublic void close() створює IOExceptionспочатку очищає потік, а потім закриває записувач.


Читання та запис відбувається посимвольно, що збільшує кількість операцій введення/виведення та впливає на продуктивність системи. BufferedWriter можна використовувати разом із FileWriter для покращення швидкості виконання.
У наступній програмі показано, як створити текстовий файл за допомогою 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();  } }  

FileReader

додати обробку винятків Java

FileReader корисний для читання даних у формі символів із «текстового» файлу. 

  • Цей клас успадковано від класу InputStreamReader.
  • Конструктори цього класу припускають, що стандартне кодування символів і розмір байтового буфера за замовчуванням є відповідними. Щоб самостійно вказати ці значення, створіть InputStreamReader на FileInputStream. 
     
  • FileReader призначений для читання потоків символів. Для читання потоків необроблених байтів розгляньте можливість використання FileInputStream.


Конструктори:  

вони співаки
    FileReader(файловий файл) -Створює FileReader із заданим файлом для читанняFileReader(FileDescripter fd) -Створює новий FileReader, отримавши FileDescripter для читанняFileReader(String fileName) -Створює новий FileReader із назвою файлу для читання


Методи:  

    public int read () викликає IOException -Читає один символ. Цей метод блокуватиметься, доки символ не стане доступним, не станеться помилка введення/виведення або не буде досягнуто кінця потоку.public int read(char[] cbuff) створює IOException -Читає символи в масив. Цей метод блокуватиметься, доки не стане доступним певний вхід, не станеться помилка введення/виведення або не буде досягнуто кінця потоку.public abstract int read(char[] buff int off int len) викликає IOException -Читає символи в частину масиву. Цей метод блокуватиметься, доки не стане доступним певний вхід, не станеться помилка введення/виведення або не буде досягнуто кінця потоку. 
    Параметри: 
    cbuf - буфер призначення 
    off - зміщення, з якого починати зберігати символи 
    len - Максимальна кількість символів для читання 
     public void close() створює IOExceptionзакриває рідер.public long skip(long n) кидає IOException -Пропускає символи. Цей метод блокуватиметься, доки деякі символи не стануть доступними, не станеться помилка введення/виведення або не буде досягнуто кінця потоку. 
    Параметри: 
    n – кількість символів, які потрібно пропустити 


Наступна програма показує, як читати з «текстового» файлу за допомогою FileReader
 

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();  } } 

 

Створіть вікторину