Java FileWriter- och FileReader-klasserna används för att skriva och läsa data från textfiler (de är Karaktärsström klasser). Det rekommenderas inte att använda klasserna FileInputStream och FileOutputStream om du måste läsa och skriva all textinformation eftersom dessa är Byte-strömklasser.
FileWriter
FileWriter är användbart för att skapa en fil som skriver tecken in i den.
- Den här klassen ärver från klassen OutputStream.
- Konstruktörerna för denna klass antar att standardteckenkodningen och standardbytebuffertstorleken är acceptabla. För att specificera dessa värden själv konstruera en OutputStreamWriter på en FileOutputStream.
- FileWriter är avsedd för att skriva strömmar av tecken. För att skriva strömmar av råbytes, överväg att använda en FileOutputStream.
- FileWriter skapar utdatafilen om den inte redan finns.
Konstruktörer:
- Denna klass ärvdes från klassen InputStreamReader.
- Konstruktörerna för denna klass antar att standardteckenkodningen och standardbytebuffertstorleken är lämpliga. För att specificera dessa värden själv konstruera en InputStreamReader på en FileInputStream.
- FileReader är avsedd för att läsa strömmar av tecken. För att läsa strömmar av råbyte, överväg att använda en FileInputStream.
Metoder:
Läsning och skrivning sker tecken för tecken vilket ökar antalet I/O-operationer och påverkar systemets prestanda. BufferedWriter kan användas tillsammans med FileWriter för att förbättra exekveringshastigheten.
Följande program visar hur man skapar en textfil med FileWriter
// 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 är användbar för att läsa data i form av tecken från en "text"-fil.
Konstruktörer:
Metoder:
Parametrar:
cbuf - Destinationsbuffert
off - Offset för att börja lagra tecken
len - Maximalt antal tecken att läsa
Parametrar:
n - Antalet tecken att hoppa över
Följande program visar hur man läser från "text"-filen med FileReader
// 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(); } }
Skapa frågesport