11
24

-Stream: ๋ฐ”์ดํŠธ

-reader, writer: ํ…์ŠคํŠธ

 

FileReader ์‚ฌ์šฉ

import java.io.FileReader;
import java.io.IOException;

public class FileReaderEx {

	public static void main(String[] args) {
		FileReader fin = null;
		try {
			fin = new FileReader("ascii");
			int c;
			while((c = fin.read()) != -1)
					System.out.print((char) c);
			fin.close();
		}catch(IOException e) {e.getMessage();}
	}

}

 

ascii ํŒŒ์ผ ๋‚ด์šฉ

 

์ถœ๋ ฅ๊ฐ’

 

ํŒŒ์ผ ๋‚ด์šฉ์— ํ•œ๊ธ€์„ ์ ์–ด๋„ ์ž˜ ์ถœ๋ ฅ๋œ๋‹ค.

 

 

FileInputStream ์‚ฌ์šฉ

import java.io.FileInputStream;
import java.io.IOException;

public class FileInputStreamEx {

	public static void main(String[] args) {
		FileInputStream fin = null;
		try{
			fin = new FileInputStream("ascii");
			int c;
			while((c = fin.read()) != -1)
				System.out.print((char) c);
			fin.close();
		}catch(IOException e) {e.getMessage();}
		

	}

}

๊ธฐ๋ณธ ๊ตฌ์„ฑ๊ณผ ์ถœ๋ ฅ๊ฐ’์€ ๋™์ผํ•˜๋‚˜, ํ•œ๊ธ€์ด๋‚˜ ํŠน์ˆ˜๋ฌธ์ž ๋“ฑ ์ œ๋Œ€๋กœ ์ถœ๋ ฅ๋˜์ง€ ์•Š์Œ.

 

 

์œ„์˜ ์ฝ”๋“œ์—์„œ InputStreamReader๋ฅผ ์‚ฌ์šฉํ•ด ํ•œ๊ธ€์„ ์ฝ์–ด๋“ค์ผ ์ˆ˜ ์žˆ๋˜๋ก ๋ฐ”๊ฟ”์คŒ.

์ฝ”๋“œํ™” ์‹œ์Šคํ…œ์ด ๋งž์•„์•ผ ์ œ๋Œ€๋กœ ์ฝ์„ ์ˆ˜ ์žˆ๋‹ค๋Š” ์  ์ฃผ์˜!

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;

public class FileInputStreamEx {

	public static void main(String[] args) {
		FileInputStream fin = null;
		InputStreamReader in = null;
		try{
			fin = new FileInputStream("uni");
			in = new InputStreamReader(fin, "MS949");
			System.out.println(in.getEncoding());
			int c;
			while((c = in.read()) != -1)
				System.out.print((char) c);
			fin.close();
			in.close();
		}catch(IOException e) {e.getMessage();}
		

	}

}

 

FileWriter ์‚ฌ์šฉ

writer๋Š” ์—†๋Š” ํŒŒ์ผ ๋ถˆ๋Ÿฌ์™€๋„ ์“ฐ๊ธฐ ๋•Œ๋ฌธ์— ์ƒ๊ด€์—†์Œ!!

import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;

public class FileWriterEx {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		FileWriter fout = null;
		char []buf = {'I', ' ', 'l', 'o','v','e',' ','j','a','v','a'};
		try{
			fout = new FileWriter("test.out");
			while(true) {
				String str = sc.nextLine();
				if(str.length() == 0)	//์•„๋ฌด๊ฒƒ๋„ ์—†๋Š” ์ค„์ด ๋‚˜์˜ค๋ฉด ๋๋‚จ
					break;
				fout.write(str);	//์ง์ ‘ ์ž…๋ ฅ
				fout.write("\n");	//๊ฐœํ–‰
			}
			//fout.write(buf);	ํ•œ๋ฒˆ์— buf ์ „์ฒด ์ถœ๋ ฅํ•˜๋ ค๋ฉด
			fout.close();
		}catch(IOException e) {e.getMessage();}
		
	}
}

 

 

FileOutputStream ์‚ฌ์šฉ

import java.io.FileOutputStream;
import java.io.IOException;

public class FileOutputStreamEx {
	public static void main(String[] args) {
		FileOutputStream fout = null;
		byte[] buf = {65,66,67,68,69,-1};
		try{
			fout = new FileOutputStream("binary");
			for(int i = 0; i<buf.length; i++)
				fout.write(buf[i]);
			fout.close();
		}catch(IOException e) {e.getMessage();}

	}

}

 

binary ํŒŒ์ผ ๊ฒฐ๊ณผ

์•„์Šคํ‚ค์ฝ”๋“œ์— ํ•ด๋‹นํ•˜๋Š” ๋ฌธ์ž๋Š” ์ž˜ ๋œจ์ง€๋งŒ ๋‹ค๋ฅธ ๊ฑด ๋ญ˜ ์˜๋„ํ–ˆ๋Š”์ง€ ๊ณ„์‚ฐํ•˜๊ณ  ๋„ฃ๊ธฐ๊ฐ€ ์–ด๋ ค์›€.

Visual C์—์„œ๋Š” ํ—ฅ์‚ฌ์ฝ”๋“œ๋กœ ๋ณด์ธ๋‹ค๊ณ  ํ•จ.

 

๋ฒ„ํผ ์ž…์ถœ๋ ฅ ์ŠคํŠธ๋ฆผ BufferedOutputStream

import java.io.BufferedOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.Scanner;

public class BufferedOutputStreamEx {
	public static void main(String[] args) {
		FileReader fin = null;
		BufferedOutputStream out = null;
		try {
			fin = new FileReader("digit");
			out = new BufferedOutputStream(System.out, 5);
			int c;
			while((c = fin.read()) != -1)
				out.write(c);
			new Scanner(System.in).nextLine();
			out.flush();
			fin.close();
			out.close();
		}catch(IOException e) {e.getMessage();}
		
	}

}
728x90
๋ฐ˜์‘ํ˜•
COMMENT