어떤 파일 내용을 다른 파일에 복사하여 넣는 것을 해볼 것이다.
먼저 메모장에 아무내용이나 적어 넣는다

필자는 이렇게 넣어 파일 명을 input.txt 로 하였다.

참고로 해당 파일은 자바 해당 패키지 디렉터리 바로 밑에 있어야한다.

준비할 것은 이게 전부다. 소스를 보자

 

package practice;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;

public class Samp2 {

	public static void main(String[] args) throws Exception{
		InputStream in = new FileInputStream("input.txt"); //input.txt 파일을 읽어들이기
		OutputStream out = new FileOutputStream("output.txt"); // output.txt파일을 생성하고
		                                                       // 읽어들인 내용을 복사하여 output.txt 파일에 덮어쓰기
		int data;
		
		while(true) {
			
			data=in.read(); //바이트 단위로 파일 내용을 읽음
			if(data==-1)  //-1 이라는 것은 끝을 의미
				 break;
			
			out.write(data); //바이트 단위로 받은 내용 하나씩 output.txt에 복사
		}
		in.close(); //항상 잊지 말아야 할 것 close 메소드 호출
		out.close();
	}
}

InputStream클래스는 바이트 단위로 데이터를 읽어 들이는 모든 입력 스트림이 상속하는 최상위 클래스이다.(object 클래스 다음으로) 이에 대응하는 클래스는 OutputStream클래스이다.

 

FileInputStream 은 파일입력스트림이고 FileOutputStream은 파일출력스트림이다. 이둘은 각각 InputStream과 OutputStream을 상속한다.

 

컴파일 실행을 하면 콘솔창에는 변화가 없지만 해당 패키지 안에 output.txt파일이 생성되어 있는 것을 볼 수 있을 것이다.

 

반응형

+ Recent posts