logo

Failu apstrāde Java, izmantojot FileWriter un FileReader

Java FileWriter un FileReader klases tiek izmantotas, lai rakstītu un lasītu datus no teksta failiem (tās ir Rakstzīmju straume klases). Ir ieteicams izmantot klases FileInputStream un FileOutputStream, ja jums ir jālasa un jāraksta jebkāda teksta informācija, jo tās ir baitu straumes klases.
 

FileWriter
FileWriter ir noderīgs, lai izveidotu failu, ierakstot tajā rakstzīmes. 

  • Šī klase tiek mantota no OutputStream klases.
  • Šīs klases konstruktori pieņem, ka noklusējuma rakstzīmju kodējums un noklusējuma baitu bufera lielums ir pieņemami. Lai pats norādītu šīs vērtības, failā FileOutputStream izveidojiet OutputStreamWriter. 
     
  • FileWriter ir paredzēts rakstzīmju straumju rakstīšanai. Lai rakstītu neapstrādātu baitu straumes, apsveriet iespēju izmantot FileOutputStream.
  • FileWriter izveido izvades failu, ja tas vēl nav pieejams.


Konstruktori:  



    FileWriter (faila fails) -Konstruē FileWriter objektu, kam piešķirts faila objekts.FileWriter (faila faila Būla papildinājums) -konstruē FileWriter objektu, kam piešķirts faila objekts.FileWriter (FileDescriptor fd) -konstruē FileWriter objektu, kas saistīts ar faila deskriptoru.FileWriter (virknes faila nosaukums) —konstruē FileWriter objektu, kam piešķirts faila nosaukums.FileWriter (virknes faila nosaukuma Būla pielikums) —Konstruē FileWriter objektu, kam piešķirts faila nosaukums ar Būla vērtību, kas norāda, vai pievienot rakstītos datus.


Metodes:  

    public Void rakstiet (int c) izmet IOException -Raksta vienu rakstzīmi.public void rakstīt (char [] maisīt) met IOException -Raksta rakstzīmju masīvu.public void write (String str) izmet IOException —Raksta virkni.public Void write (String str int off int len) met IOException — Raksta daļu no virknes. Šeit off ir nobīde, no kuras sākt rakstīt rakstzīmes, un len ir rakstzīmju skaits, kas jāraksta.public void flush() izmet IOExceptionizskalo straumipublic void close() izmet IOExceptionvispirms izskalo straumi un pēc tam aizver rakstītāju.


Lasīšana un rakstīšana notiek pēc rakstzīmes, kas palielina I/O operāciju skaitu un ietekmē sistēmas veiktspēju. BufferedWriter var izmantot kopā ar FileWriter, lai uzlabotu izpildes ātrumu.
Šajā programmā ir parādīts, kā izveidot teksta failu, izmantojot 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

FileReader ir noderīgs, lai nolasītu datus rakstzīmju veidā no “teksta” faila. 

  • Šī klase tika mantota no InputStreamReader klases.
  • Šīs klases konstruktori pieņem, ka noklusējuma rakstzīmju kodējums un noklusējuma baitu bufera lielums ir piemēroti. Lai pats norādītu šīs vērtības, failā FileInputStream izveidojiet InputStreamReader. 
     
  • FileReader ir paredzēts rakstzīmju straumju lasīšanai. Lai lasītu neapstrādātu baitu straumes, apsveriet iespēju izmantot FileInputStream.


Konstruktori:  

    FileReader (faila fails) -Izveido FileReader, ņemot vērā failu, no kura lasītFileReader (FileDescripter fd) —Izveido jaunu FileReader, ņemot vērā FileDescripter, no kura lasītFailu lasītājs (virknes faila nosaukums) —Izveido jaunu FileReader, ņemot vērā lasāmā faila nosaukumu


Metodes:  

pavasara instrumentu komplekts
    public int read () met IOException -Nolasa vienu rakstzīmi. Šī metode tiks bloķēta, līdz ir pieejama rakstzīme, rodas I/O kļūda vai tiek sasniegts straumes beigas.public int read(char[] cbuff) izmet IOException -Nolasa rakstzīmes masīvā. Šī metode tiks bloķēta, līdz būs pieejama kāda ievade, radīsies I/O kļūda vai tiks sasniegts straumes beigas.public abstract int read(char[] buff int off int len) throws IOException -Nolasa rakstzīmes masīva daļā. Šī metode tiks bloķēta, līdz būs pieejama kāda ievade, radīsies I/O kļūda vai tiks sasniegts straumes beigas. 
    Parametri: 
    cbuf — galamērķa buferis 
    off — nobīde, ar kuru jāsāk saglabāt rakstzīmes 
    len — maksimālais lasāmo rakstzīmju skaits 
     public void close() izmet IOExceptionaizver lasītāju.publiskais tāls izlaidums(garais n) metieni IOIzņēmums -Izlaiž rakstzīmes. Šī metode tiks bloķēta, līdz būs pieejamas dažas rakstzīmes, radīsies I/O kļūda vai tiks sasniegts straumes beigas. 
    Parametri: 
    n — izlaižamo rakstzīmju skaits 


Šajā programmā ir parādīts, kā lasīt no “teksta” faila, izmantojot 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();  } } 

 

Izveidojiet viktorīnu