Pure Java – 58 File and I/O – 03

Merhaba Arkadaslar,
Bu yazida BufferedWriter , PrintWriter , BufferedReader , Console siniflarini inceleyecegiz.

Onceki yazilarda dosyaya veri yazmak icin FileWriter ve dosyadan veri okumak icin FileReader siniflarini kullanmistik. Bu siniflar biraz daha basit ve ilkel siniflardir. Genel olarak tek basina kullanilmazlar bunun yerine BufferedWriter , PrintWriter, BufferedReader gibi siniflarla birlikte kullanilirlar.

Ornegimizi inceleyelim ;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class BufferedTest {

	public static void main(String[] args) throws IOException {

		File file = new File("buffered.txt");
		FileWriter fw = new FileWriter(file);
		BufferedWriter bw = new BufferedWriter(fw);

		bw.write("www.injavawetrust.com");
		bw.write("\n"); // alt satira gecmek icin \n karakterini kullandik
		bw.write("Levent Erguder");
		
		bw.flush();
		bw.close();

		FileReader fr = new FileReader(file);
		BufferedReader br = new BufferedReader(fr);

		// BufferedReader readLine metodu saglar
		// bu metod dosyayi satir satir okur.

		String lineContent = null;
		int lineCount = 1;
		while ((lineContent = br.readLine()) != null) {
			System.out.println("line " + lineCount+" : " + lineContent);
			lineCount++;
		}
	}
}

BufferedWriter sinifi yapilandiricisi Writer sinifi tipinde bir parametre almaktadir.
(FileWriter IS – A Writer)
BufferedReader sinifi yapilandiricisi Reader sinifi tipinde bir parametre almaktadir.
(FileReader IS – A Reader)
BufferedWriter ile dosyaya veri yazarken yeni satir icin \n karakterini kullandik.
BufferedReader sinifi bize FileReader sinifinda olmayan dosya icerigini satir satir okuyan readLine metodunu saglar.

PrintWriter sinifinin String parametre alan yapilandiricisi vardir , File ve FileWriter objeleri olusturmadan da yeni bir dosya olusturabiliriz. Dilersek FileWriter tipinde parametre alan yapilandiriciyi da kullanabiliriz.

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;

public class PrintWriterTest {

	public static void main(String[] args) throws IOException {

		PrintWriter pw = new PrintWriter("printwriter.txt");
		pw.println("www.injavawetrust.com");
		pw.print("Levent Erguder");
		pw.flush();
		pw.close();

		File file = new File("printwriter2.txt");
		FileWriter fw = new FileWriter(file);
		PrintWriter pw2 = new PrintWriter(fw);

		pw2.println("be an oracle man , import java.*");
		pw2.println("injavawetrust!");

		pw2.flush();
		pw2.close();
		
		System.out.println("Islem tamamlandi.");
	}
}

FileWriter sinifinininin boolean alan yapilandiricilari vardir. Bu yapilandiricilari kullanarak ve arguman olarak true degeri vererek dosya icerigine ekleme yapabiliriz.

    
public FileWriter(File file, boolean append) throws IOException {...}
public FileWriter(String fileName, boolean append) throws IOException {...}
import java.io.FileWriter;
import java.io.IOException;

public class AppendContentFile {

	public static void main(String[] args) throws IOException {
	
		FileWriter fw  = new FileWriter("mytext.txt",true);
		fw.write("test ");
		fw.flush();
		fw.close();
	
	}
}

java.io.Console sinifi , konsol(console) dan klavye araciligiyla veri okumayi saglar. java.io.Console sinifi Java 6 ile birlikte gelmistir.

import java.io.Console;

public class ConsoleTest {

	public static void main(String[] args) {
		Console c = System.console();
		// Console sinifinin yapilandiricisi private tanimlidir. Bu nedenle
		// System.console() ile Console objesine sahip olabiliriz.
		
		System.out.print("UserName:");
		String username = c.readLine();
		
		char[] password = c.readPassword("%s", "Password:");
		//readPassWord metodu String degil char[] dizisi doner !
		
		System.out.println("####");
		System.out.print(username+" ");
		System.out.print(password);
	}
}

Yazimi burada sonlandiriyorum.
Herkese Bol Javali Gunler dilerim.
Be an oracle man , import java.*;
Levent Erguder
OCP, Java SE 6 Programmer
OCE, Java EE 6 Web Component Developer

Print Friendly, PDF & Email

Leave a Reply

Your email address will not be published. Required fields are marked *