TIL 22 | [Java] 바이트 스트림과 파일 입출력

Yoonsik·2022년 5월 28일
0

JAVA

목록 보기
2/11

💻 바이트 스트림과 파일 입출력

바이트 스트림은 바이트 단위로 바이너리 데이터가 흐르는 스트림 입니다. 바이트 스트림은 바이너리 데이터를 있는 그대로 출력합니다.

그렇기 때문에, 이미지나 동영상 파일 입출력에 필수적이고, 문자들로 구성된 텍스트 파일도 입출력 할 수 있습니다. (텍스트 파일 - 바이너리 데이터 값을 문자화 하여 사용 가능)

FileOutputStream을 이용한 바이너리 파일 쓰기

바이너리 데이터를 파일에 그대로 저장할 때 FileOutputStream 클래스를 사용합니다.

[FileOutputStream의 생성자]


FileOutputStream 클래스의 생성자는 다음 표와 같습니다.

(+ 생성자의 특징 - 생성자의 이름은 해당 클래스의 이름과 같아야 하며, 생성자의 매개변수의 타입이나 개수가 다른경우 여러개를 사용 가능하다.)

파일 출력 스트림 생성

FileOutputStream fout = new FileOutputStream("c:\\temp\\test.out")
c:\temp\test.out 파일에 바이너리 데이터를 저장하는 출력 스트림을 생성하는 코드 입니다.

FileOutputStream 생성자는 c:\temp\test.out 파일을 생성하여 스트림과 연결합니다. (이미 파일이 존재하는 경우, 해당 파일의 내용을 지우고 스트림에 연결합니다.)

파일 쓰기가 이루어지면 c:\temp\test.out 파일은 바이너리 파일이 됩니다.

파일 쓰기

write() 메소드를 이용하여 배열을 파일에 저장해 보겠습니다.

1) for문을 이용하여 한 바이트씩 배열내용 저장하기

byte b[] = {7, 51, 3, 4, -1, 24}
for(int i = 0; i < b.length; i++)
	fout.write(b[i]);

2) for문 사용 X 한번에 배열 저장하기

fout.wite(b);

FileInputStream을 이용한 바이너리 파일 읽기

바이트 스트림으로 파일을 읽기 위해서는 FileInputStream 스트림 클래스를 사용합니다.

[FileInputStream의 생성자]


FlieInputSteam의 생성자는 다음과 같습니다.

(+ 생성자의 특징 - 생성자의 이름은 해당 클래스의 이름과 같아야 하며, 생성자의 매개변수의 타입이나 개수가 다른경우 여러개를 사용 가능하다.)

profile
꾸준함의 힘

0개의 댓글