Anasayfa » Mühendis Çantam

Java Read & Write File with Encoding

7 Ağustos 2011 2.706 views Yorum Yok Kii

Merhaba arkadaşlar,

Stajdayken zamanımı alan bir konuyu sizinle paylaşmak istedim. Her bir dilin rcc dosyasını alıp, birleştirip est’ye çeviren bir program vardı. Ancak dönüştürme UTF-8 formatındaydı. Rusça, Bulgarca gibi dillerde, Kiril Alfabesindeki harflerde sorun çıkıyordu. Çünkü bu harfler 8 bit’e sığmayan harfler. Ancak 16 bitle yani 2 byte’la ifade edilebiliyorlar. Arama yaptığım zaman, bu dönüştürme için bir sürü sonuç çıkıyor, ama çoğu olmuyordu. Ancak sonunda bulduğum ve çalışan java kodları şu şekilde:

Encoding’le file okuma:

FileInputStream fstream = new FileInputStream(filename);
DataInputStream in = new DataInputStream(fstream);
BufferedReader br = new BufferedReader (new InputStreamReader(in));

Bir de Scanner kullanarak da encoding yapıldığı örnekler var ki, ben uğraşmama rağmen kendi projemde bir türlü yapamadım. Ayrıca;
InputStreamReader  in = new InputStreamReader(fstream, Encode);

şeklinde bir çeşit daha var, ancak ilk yazdığım şekilde yazınca, karakterleri olduğu gibi aldı, sorun çıkmadı bende. 2 byte formatında almak için Encode’a “UTF-16” yazarsanız da oluyor.

Encoding’le file yazma:

Yazma kısmı hiç sorunsuz. Bu şekilde her zaman çalışıyor:

Writer out = new OutputStreamWriter(new FileOutputStream(FileName, boolean Append), Encode);

out.write(string);

out.close();

İşte böyle!

 

Ziynet Nesibe

Yoruma Açığız! :)

Be nice. İçeriği çirkin olmadığı sürece her yoruma, öneriye ve soruya "evet" :)

Etiketler: , , ,