자바

File Stream

khon98 2020. 7. 11. 23:00

File Output Stream

- 프로그램에서 파일로 데이터를 전송할 때 사용하는 스트림이다

 

- 데이터를 보내고자 하는 파일이 없으면 자동으로 생성된다

 

주요 메서드

- 생성자(파일 이름) : 파일 이름의 파일을 열고 출력 스트림을 추출한다 이때 데이터는 덮어 씌워진다

 

- 생성자(파일이름. boolean) : 파일 이름의 파일을 열고 출력 스트림을 추출한다 이때 boolean값을 true로 주면 쓰고자 하는 내용이 뒤에 추가가 된다

 

- write : 바이트 형태의 데이터를 파일로 쓴다

 

- close : 스트림을 닫는다

 

- flush : 메모리에 남겨진 데이터를 모두 송출한다

 

1. c드라이브에 test파일 생성

2. 프로그램 입력

3. test폴더에 a이름의 텍스트 파일 생성 확인

4. a 텍스트 파일 열고 '안녕하세요' 있는지 확인

 

FileStreamTest1.java

------------------------------------------------------------------

import java.io.FileOutputStream;

import java.io.IOException;

 

try {

     String fileName = "c:\\test\\a.txt";

     FileOutputStream fos = new FileOutputStream(fileName);

     byte [ ] data = "안녕하세요".getBytes( );

     fos.write(data);

     fos.flush( );

     fos.close( );

     System.out.println("파일 쓰기 성공");

}catch(IOException e) { }

------------------------------------------------------------------

 

File Input Stream

- 파일의 데이터를 수신할 때 사용하는 스트림이다

 

- 데이터를 읽어올 파일이 없으면 예외가 발생한다

 

주요 메서드

- 생성자(파일이름) : 파일 이름의 파일을 열고 입력 스트림을 추출한다

 

- available : 한 번에 데이터를 읽어올 수 있는 양을 알아온다 한 번에 읽어올 수 있는 양이 파일의 용량보다 많을 경우 파일의 용량을 가져온다

 

- close : 파일을 닫는다

 

- read : 데이터를 바이트 형태로 읽어온다

 

FileStreamTest2.java

------------------------------------------------------------------

import java.io.FileInputStream;

import java.io.IOException;

 

try {

     String fileName = "c:\\test\\a.txt";

     FileInputStream fls = new FileInputStream(fileName);

     byte [ ] buf = new byte[fls.available( )];

     fls.read(buf);

     fls.close( );

 

     String str = new String(buf);

     System.out.println(str);

}catch(IOException e) { } 

------------------------------------------------------------------

 

Console

------------------------------------------------------------------

안녕하세요

------------------------------------------------------------------