File Stream
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
------------------------------------------------------------------
안녕하세요
------------------------------------------------------------------