Java FileReader (Örneklerle)

Bu eğitimde, örnekler yardımıyla Java FileReader ve yöntemleri hakkında bilgi edineceğiz.

FileReaderSınıf java.iopaketinden dosyalarından (karakter) veri okumak için kullanılabilir.

InputSreamReaderSınıfı genişletir .

Öğrenmeden önce FileReaderJava Dosyası hakkında bilgi sahibi olduğunuzdan emin olun.

Bir Dosya Okuyucu Oluşturun

Bir dosya okuyucu oluşturmak için önce java.io.FileReaderpaketi içe aktarmalıyız . Paketi içe aktardıktan sonra, dosya okuyucuyu nasıl oluşturabileceğimiz aşağıda açıklanmıştır.

1. Dosyanın adını kullanma

 FileReader input = new FileReader(String name); 

Burada, isimle belirtilen dosyaya bağlanacak bir dosya okuyucu oluşturduk.

2. Dosyanın bir nesnesini kullanma

 FileReader input = new FileReader(File fileObj); 

Burada, dosyanın nesnesi tarafından belirtilen dosyaya bağlanacak bir dosya okuyucu oluşturduk.

Yukarıdaki örnekte, dosyadaki veriler bazı varsayılan karakter kodlamaları kullanılarak saklanır.

Bununla birlikte, Java 11'den beri , dosyadaki karakter kodlama türünü ( UTF-8 veya UTF-16 ) da belirtebiliriz .

 FileReader input = new FileReader(String file, Charset cs); 

Burada, Charsetdosya okuyucunun karakter kodlamasını belirtmek için sınıfı kullandık .

FileReader Yöntemleri

FileReaderSınıf, farklı yöntemler için uygulamalar içinde mevcut içerir Readersınıfı.

read () Yöntem

  • read() - okuyucudan tek bir karakter okur
  • read(char() array) - okuyucudan karakterleri okur ve belirtilen dizide depolar
  • read(char() array, int start, int length) - okuyucudan uzunluğa eşit sayıda karakter okur ve konum başlangıcından başlayarak belirtilen dizide depolar

Örneğin , aşağıdaki içeriğe sahip input.txt adlı bir dosyamız olduğunu varsayalım .

 This is a line of text inside the file. 

Dosyayı kullanarak okumaya çalışalım FileReader.

 import java.io.FileReader; class Main ( public static void main(String() args) ( // Creates an array of character char() array = new char(100); try ( // Creates a reader using the FileReader FileReader input = new FileReader("input.txt"); // Reads characters input.read(array); System.out.println("Data in the file: "); System.out.println(array); // Closes the reader input.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Çıktı

 Dosyadaki veriler: Bu, dosyanın içindeki bir metin satırıdır. 

Yukarıdaki örnekte, input adında bir dosya okuyucu oluşturduk. Dosya okuyucu, input.txt dosyasıyla bağlantılıdır .

 FileInputStream input = new FileInputStream("input.txt"); 

Dosyadan veri okumak için read()yöntemi kullandık .

getEncoding () Yöntemi

getEncoding()Yöntem dosyasındaki veri depolamak için kullanılan kodlama türü almak için de kullanılabilir. Örneğin,

 import java.io.FileReader; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( try ( // Creates a FileReader with default encoding FileReader input1 = new FileReader("input.txt"); // Creates a FileReader specifying the encoding FileReader input2 = new FileReader("input.txt", Charset.forName("UTF8")); // Returns the character encoding of the file reader System.out.println("Character encoding of input1: " + input1.getEncoding()); System.out.println("Character encoding of input2: " + input2.getEncoding()); // Closes the reader input1.close(); input2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) ) 

Çıktı

 Giriş1'in karakter kodlaması: Cp1252 Giriş2'nin karakter kodlaması: UTF8 

Yukarıdaki örnekte input1 ve input2 adında 2 dosya okuyucu oluşturduk.

  • input1, karakter kodlamasını belirtmez. Dolayısıyla, getEncoding()yöntem varsayılan karakter kodlamasını döndürür.
  • input2, UTF8 karakter kodlamasını belirtir . Dolayısıyla getEncoding()yöntem, belirtilen karakter kodlamasını döndürür.

Not : Charset.forName()Yöntemi karakter kodlamasının türünü belirtmek için kullandık . Daha fazla bilgi edinmek için Java Charset'i (resmi Java belgeleri) ziyaret edin.

close () Yöntem

Dosya okuyucuyu kapatmak için close()yöntemi kullanabiliriz . Bir kez close()yöntemi olarak adlandırılır, veriler okuma okuyucu kullanamaz.

Diğer FileReader Yöntemleri

Yöntem Açıklama
ready() dosya okuyucunun okunmaya hazır olup olmadığını kontrol eder
mark() verinin okunduğu dosya okuyucudaki konumu işaretleyin
reset() kontrolü, okuyucuda işaretin ayarlandığı noktaya döndürür

Daha fazla bilgi edinmek için Java FileReader'ı (resmi Java belgeleri) ziyaret edin.

Ilginç makaleler...