Bu eğitimde, örnekler yardımıyla Java FileWriter ve yöntemleri hakkında bilgi edineceğiz.
FileWriter
Sınıf java.io
paketine dosyalarına (karakterleriyle) yazma verilerine kullanılabilir.
OutputStreamWriter
Sınıfı genişletir .
Daha fazlasını öğrenmeden önce FileWriter
Java Dosyası hakkında bilgi sahibi olduğunuzdan emin olun.
Bir FileWriter Oluşturun
Bir dosya yazıcı oluşturmak için önce Java.io.FileWriter
paketi içe aktarmalıyız . Paketi içe aktardıktan sonra, dosya yazıcısını nasıl oluşturabileceğimiz aşağıda açıklanmıştır.
1. Dosyanın adını kullanma
FileWriter output = new FileWriter(String name);
Burada, isimle belirtilen dosyaya bağlanacak bir dosya yazarı oluşturduk.
2. Dosyanın bir nesnesini kullanma
FileWriter input = new FileWriter(File fileObj);
Burada, dosyanın nesnesi tarafından belirtilen dosyaya bağlanacak bir dosya yazıcı oluşturduk.
Yukarıdaki örnekte, veriler bazı varsayılan karakter kodlamaları kullanılarak saklanır.
Ancak Java 11'den beri karakter kodlama türünü ( UTF8 veya UTF16 ) da belirtebiliriz .
FileWriter input = new FileWriter(String file, Charset cs);
Burada, Charset
dosya yazarının karakter kodlamasını belirtmek için sınıfı kullandık .
FileWriter Yöntemleri
FileWriter
Sınıf, farklı yöntemler için uygulamalar içinde mevcut içerir Writer
sınıfı.
write () Yöntem
write()
- yazara tek bir karakter yazarwrite(char() array)
- belirtilen dizideki karakterleri yazara yazarwrite(String data)
- belirtilen dizeyi yazara yazar
Örnek: Bir Dosyaya veri yazmak için FileWriter
import java.io.FileWriter; public class Main ( public static void main(String args()) ( String data = "This is the data in the output file"; try ( // Creates a FileWriter FileWriter output = new FileWriter("output.txt"); // Writes the string to the file output.write(data); // Closes the writer output.close(); ) catch (Exception e) ( e.getStackTrace(); ) ) )
Yukarıdaki örnekte output adında bir dosya yazıcı oluşturduk. Çıktı okuyucu, output.txt dosyasıyla bağlantılıdır .
FileWriter output = new FileWriter("output.txt");
Dosyaya veri yazmak için write()
yöntemi kullandık .
Burada programı çalıştırdığımızda output.txt dosyası aşağıdaki içerikle doldurulur.
This is a line of text inside the file.
getEncoding () Yöntemi
getEncoding()
Yöntem, yazma veri sağlamak için kullanılır kodlama türü almak için de kullanılabilir. Örneğin,
import java.io.FileWriter; import java.nio.charset.Charset; class Main ( public static void main(String() args) ( String file = "output.txt"; try ( // Creates a FileReader with default encoding FileWriter output1 = new FileWriter(file); // Creates a FileReader specifying the encoding FileWriter output2 = new FileWriter(file, Charset.forName("UTF8")); // Returns the character encoding of the reader System.out.println("Character encoding of output1: " + output1.getEncoding()); System.out.println("Character encoding of output2: " + output2.getEncoding()); // Closes the reader output1.close(); output2.close(); ) catch(Exception e) ( e.getStackTrace(); ) ) )
Çıktı
Çıkış1'in karakter kodlaması: Cp1252 Çıkış2'nin karakter kodlaması: UTF8
Yukarıdaki örnekte output1 ve output2 adında 2 dosya yazıcı oluşturduk.
- output1, karakter kodlamasını belirtmez. Dolayısıyla,
getEncoding()
yöntem varsayılan karakter kodlamasını döndürür. - output2, 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 yazarını kapatmak için close()
yöntemi kullanabiliriz . close()
Yöntem çağrıldıktan sonra, verileri yazmak için yazıcıyı kullanamayız.
FileWriter'ın diğer yöntemleri
Yöntem | Açıklama |
---|---|
flush() | yazıcıda bulunan tüm verileri karşılık gelen hedefe yazmaya zorlar |
append() | belirtilen karakteri geçerli yazara ekler |
Daha fazla bilgi edinmek için Java FileWriter'ı (resmi Java belgeleri) ziyaret edin.