logo

FileWriter ve FileReader kullanarak Java'da dosya işleme

Java FileWriter ve FileReader sınıfları, metin dosyalarından veri yazmak ve okumak için kullanılır (bunlar Karakter Akışı sınıflar). Tavsiye edilir Olumsuz Byte akışı sınıfları olduğundan herhangi bir metin bilgisini okumanız ve yazmanız gerekiyorsa FileInputStream ve FileOutputStream sınıflarını kullanmak için.
 

Dosya Yazarı
FileWriter, içine karakter yazan bir dosya oluşturmak için kullanışlıdır. 

  • Bu sınıf OutputStream sınıfından miras alır.
  • Bu sınıfın yapıcıları, varsayılan karakter kodlamasının ve varsayılan bayt arabellek boyutunun kabul edilebilir olduğunu varsayar. Bu değerleri kendiniz belirtmek için FileOutputStream üzerinde bir OutputStreamWriter oluşturun. 
     
  • FileWriter karakter akışlarını yazmak içindir. Ham bayt akışlarını yazmak için FileOutputStream kullanmayı düşünün.
  • FileWriter, halihazırda mevcut değilse çıktı dosyasını oluşturur.


Yapıcılar:  



youtube'u indirmek için vlc
    FileWriter(Dosya dosyası) -File nesnesi verilen bir FileWriter nesnesi oluşturur.FileWriter (Dosya dosyası boole eki) -File nesnesi verilen bir FileWriter nesnesi oluşturur.FileWriter (FileDescriptor fd) -bir dosya tanımlayıcıyla ilişkili bir FileWriter nesnesi oluşturur.FileWriter (Dize dosyaAdı) -dosya adı verilen bir FileWriter nesnesi oluşturur.FileWriter (Dize dosyaAdı Boolean eklentisi) -Yazılan verilerin eklenip eklenmeyeceğini belirten Boolean değerine sahip bir dosya adı verilen bir FileWriter nesnesi oluşturur.


Yöntemler:  

    public void write (int c) IOException'ı atar -Tek karakter yazar.public void write (char [] stir) IOException'ı atar -Bir dizi karakter yazar.public void write(String str) IOException'ı atar -Bir dize yazar.genel geçersiz yazma (String str int kapalı int len) IOException'ı atar - Bir dizenin bir kısmını yazar. Burada kapalı, karakterleri yazmaya başlayacağınız uzaklıktır ve len, yazılacak karakter sayısıdır.public void floş() IOException'ı atarakışı temizlerpublic void close() IOException'ı atarönce akışı temizler ve ardından yazıcıyı kapatır.


Okuma ve yazma karakter karakter gerçekleşir, bu da G/Ç işlemlerinin sayısını artırır ve sistemin performansını etkiler. Tamponlu Yazar yürütme hızını artırmak için FileWriter ile birlikte kullanılabilir.
Aşağıdaki program FileWriter kullanarak bir metin dosyasının nasıl oluşturulacağını göstermektedir
 

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

Dosya Okuyucu

e-r model diyagramı

FileReader, bir 'metin' dosyasından karakter biçimindeki verileri okumak için kullanışlıdır. 

  • Bu sınıf, OutputStreamReader Sınıfından miras alınmıştır.
  • Bu sınıfın yapıcıları, varsayılan karakter kodlamasının ve varsayılan bayt arabellek boyutunun uygun olduğunu varsayar. Bu değerleri kendiniz belirtmek için FileInputStream üzerinde bir OutputStreamReader oluşturun. 
     
  • FileReader karakter akışlarını okumak içindir. Ham bayt akışlarını okumak için FileInputStream kullanmayı düşünün.


Yapıcılar:  

Linux mimarisi
    DosyaOkuyucu(Dosya dosyası) -Okunacak Dosyaya göre bir FileReader oluştururFileReader(FileDescripter fd) -Okunacak FileDescripter verilen yeni bir FileReader oluştururFileReader(Dize dosyaAdı) -Okunacak dosyanın adı verilen yeni bir FileReader oluşturur


Yöntemler:  

    public int read (), IOException'ı atar -Tek bir karakteri okur. Bu yöntem, bir karakter mevcut olana, bir G/Ç hatası oluşana veya akışın sonuna ulaşılana kadar bloke edecektir.public int read(char[] cbuff) IOException'ı atar -Karakterleri bir diziye okur. Bu yöntem, bir giriş mevcut olana, bir G/Ç hatası oluşana veya akışın sonuna ulaşılana kadar bloke edecektir.public abstract int read(char[] buff int off int len) IOException'ı atar -Bir dizinin bir kısmına karakterleri okur. Bu yöntem, bir giriş mevcut olana, bir G/Ç hatası oluşana veya akışın sonuna ulaşılana kadar bloke edecektir. 
    Parametreler: 
    cbuf - Hedef arabellek 
    off - Karakterlerin kaydedilmeye başlanacağı konum 
    len - Okunacak maksimum karakter sayısı 
     public void close() IOException'ı atarokuyucuyu kapatır.genel uzun atlama (uzun n) IOException'ı atar -Karakterleri atlar. Bu yöntem, bazı karakterler mevcut olana, bir G/Ç hatası oluşana veya akışın sonuna ulaşılana kadar engelleyecektir. 
    Parametreler: 
    n - Atlanacak karakter sayısı 


Aşağıdaki program FileReader kullanarak 'metin' dosyasından nasıl okunacağını gösterir
 

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

 

Test Oluştur