Bu eğitimde, örnekler yardımıyla Java FileReader ve yöntemleri hakkında bilgi edineceğiz.
FileReader
Sınıf java.io
paketinden dosyalarından (karakter) veri okumak için kullanılabilir.
InputSreamReader
Sınıfı genişletir .
Öğrenmeden önce FileReader
Java Dosyası hakkında bilgi sahibi olduğunuzdan emin olun.
Bir Dosya Okuyucu Oluşturun
Bir dosya okuyucu oluşturmak için önce java.io.FileReader
paketi 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, Charset
dosya okuyucunun karakter kodlamasını belirtmek için sınıfı kullandık .
FileReader Yöntemleri
FileReader
Sınıf, farklı yöntemler için uygulamalar içinde mevcut içerir Reader
sınıfı.
read () Yöntem
read()
- okuyucudan tek bir karakter okurread(char() array)
- okuyucudan karakterleri okur ve belirtilen dizide depolarread(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.