- Katılım
- 1 Şubat 2007
- Mesajlar
- 93,081
- Reaksiyon puanı
- 49,731
- Puanı
- 1,060
- Konum
- İstanbul
- Web Sitesi
- izleryazar.com
Şu konuda java'da byte byte dosya okuma ve yazma işlemlerinin yapılmasını açıklamıştık bu konuda ise karakter karakter okumayı ele alacağız.
Aslında temel olarak byte byte okuma ve karakter karakter okuma arasında pek fazla fark yoktur. Fakat karakterler şeklinde okumak Türkçe harfler ve pek çok farklı ASCII karakterinin düzgün bir şekilde işlem görmesini sağlar.
Karakterler şeklinde okumak için FileInputStream, FileOutputStream yerine FileReader ve FileWriter kullanılır.
Aşağıdaki kod dosya1.txt içerisindeki karakterleri tek tek okur, ekrana yazdırır ve dosya2.txt dosyasına yazdırır.
Not: Eğer netbeans ile çalışıyorsanız dosya1.txt'in NetBeansProjectsprojeAdı klasörü içerisinde bulunması gerektiğini ve dosya2.txt olmasa bile otomatik olarak oluşturulacağını hatırlatalım.
Aslında temel olarak byte byte okuma ve karakter karakter okuma arasında pek fazla fark yoktur. Fakat karakterler şeklinde okumak Türkçe harfler ve pek çok farklı ASCII karakterinin düzgün bir şekilde işlem görmesini sağlar.
Karakterler şeklinde okumak için FileInputStream, FileOutputStream yerine FileReader ve FileWriter kullanılır.
Aşağıdaki kod dosya1.txt içerisindeki karakterleri tek tek okur, ekrana yazdırır ve dosya2.txt dosyasına yazdırır.
Not: Eğer netbeans ile çalışıyorsanız dosya1.txt'in NetBeansProjectsprojeAdı klasörü içerisinde bulunması gerektiğini ve dosya2.txt olmasa bile otomatik olarak oluşturulacağını hatırlatalım.
Kod:
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
public class KarakterKopyala{
public static void main(String[] args) throws IOException {
FileReader inputStream = null;
FileWriter outputStream = null;
try {
inputStream = new FileReader("dosya1.txt");
outputStream = new FileWriter("dosya2.txt");
int con;
while ((con = inputStream.read()) != -1) {
System.out.print((char)con);
outputStream.write(con);
}
} finally {
if (inputStream != null) {
inputStream.close();
}
if (outputStream != null) {
outputStream.close();
}
}
}
}