컴퓨터프로그래밍/JAVA

JAVA - FileInputStream/FileOutputStream 클래스

zelkova 2013. 10. 11. 22:15

 FileInputStream과 FileOutputStream 클래스는 파일에서 데이터를 일고 파일에 데이터를 쓰기 위한 클래스 입니다.

java.io.FileInputStream 클래스

FileStream(File file)

File 객체가 가리키는 파일에대한 FileInputStream 객체를 생성한다.


FileInputStream(FileDescriptor tdObj)

파일 디스크립터가 가리키는 파일에 대한 FileInputStream 객체를 생성한다.


FileInutStream(String name)

지정된 파일 이름에 대한 FileInputStream 객체를 생성한다.




java.io.FileInputStream 클래스의 메소드

int

available()

입력 스트림에서 읽을 수 있는 바이트 수를 반환한다.


void

close()

입력 스트림을 닫는다.


FileDescriptor

getFD()

연결된 파일에 대한 FileDescriptor 객체를 반환한다.


int

read()

입력 스트림에서 1바이트 데이터를 읽는다. 반환 값이 -1일 경우 더이상 읽을 데이터가 없음을 의미한다.


int

read(byte[] b)

입력 스트림에서 최대 b,length 바이트의 데이터를 지정된 바이트 배열 단위로 읽는다.


int 

read(byte[] b, int off, int len)

입력 스트림에서 off 위치부터 최대 len 개까지의 데이터를 지정된 바이트 배열단위로 읽는다.


java.io.FileOutputStream 클래스

FileOutputStream(File file)

File 객체가 가리키는 파일을 위한 FileOutputStream 객체를 생성한다.


FileOutputStream(File file, boolean append)

지정된 append 모드로File 객체가 가리키는 파일을 위한 FileOutputStream 객체를 생성한다.


FileOutputStream(String name)

지정된 이름을 가진 파일을 위한 FileOutputStream 객체를 생성한다.


FileOutputStream(String name, boolean append)

지정된 append 모드로 지정된 이름을 가진 파일을 위한 FileOutputStream 객체를 생성한다.

append 모드가 true라면 파일 끝에 데이터를 추가하고 false 라면 파일 앞부분부터 데이터를 쓴다.


java.io.FileOutputStream 클래스의 메소드

void

close()

출력스트림을 닫고 스트림과 연관된 시스템 자원을 해제한다.


void

flush()

버퍼링되어 아직 기록되지 않은 데이터를 출력 스트림에 모두 기록한다.


void

write(byte[] b)

b.length 바이트의 데이터를 출력 스트림에 기록한다.


void

write(byte[] b, int off, int len)

지정된 바이트 배열의 off위치부터 len개까지의 데이터를 출력 스트림에 기록한다.


void

write(int b)

지정된 바이트를 출력 스트림에 기록한다.


예제)

import java.io.FileInputStream;

import java.io.FileOutputStream;


public class Test {

public static void main(String[] args) throws Exception{

FileOutputStream fo = new FileOutputStream("test1.txt");


for(int i = 9; i > 0; i-){

fos.write(i);

}

fo.flush();

fo.close();


FileInputStream fis = new FileInputStream("test1.txt");

while(fis.available() > 0 ) {

System.out.print(fis.read());

}

fis.close();

}

}




반응형