JAVA 에서 자주 사용 되 는 IO 흐름: FileInputStream 과 FileOutputStream

FileInputStream 은 로 컬 파일 의 바이트 데 이 터 를 읽 는 데 사 용 됩 니 다. InputStream 클래스 를 계승 합 니 다.
구조 방법 요약FileInputStream(File file)             실제 파일 로 의 연결 을 열 어서 FileInputStream 파일 시스템 을 통 해 파일 을 만 듭 니 다.  File  대상  file  지정FileInputStream(FileDescriptor fdObj)             파일 설명자 사용 하기  fdObj  파일 시스템 에 있 는 실제 파일 의 기 존 연결 을 나타 내 는 FileInputStream 파일 설명 자 를 만 듭 니 다.FileInputStream(String name)             실제 파일 로 의 연결 을 열 어서 FileInputStream 파일 시스템 의 경로 이름 을 만 듭 니 다.  name  지정
방법 요약 int available()             다음 입력 스 트림 호출 방법 을 되 돌려 줍 니 다. void close()             이 파일 의 입력 흐름 을 닫 고 이 흐름 과 관련 된 모든 시스템 자원 을 방출 합 니 다.protected  void finalize()             파일 입력 흐름 을 더 이상 인용 하지 않 을 때 호출 하도록 확보 close 방법 FileChannel getChannel()             이 파일 의 입력 흐름 과 관련 된 유일한 것 을 되 돌려 줍 니 다 FileChannel 대상 FileDescriptor getFD()             파일 시스템 에 표 시 된 실제 파일 의 연결 을 되 돌려 줍 니 다.  FileDescriptor  대상, 이 파일 시스템 이 여기에 있 습 니 다 FileInputStream 사용 int read()             이 입력 흐름 에서 데이터 바 이 트 를 읽 습 니 다. int read(byte[] b)             이 입력 흐름 중 최대  b.length  바이트 의 데 이 터 를 byte 배열 에 읽 습 니 다. int read(byte[] b, int off, int len)             이 입력 흐름 중 최대  len  바이트 의 데 이 터 를 byte 배열 에 읽 습 니 다. long skip(long n)             입력 흐름 에서 건 너 뛰 고 버 리 기  n  바이트 의 데이터.
그 중에서 read() 읽 은 바이트 에 대응 하 는 int 값 (0 - 255) 을 되 돌려 주 고 read(byte[] b)read(byte[] b, int off, int len) 읽 은 바이트 수 를 되 돌려 줍 니 다.
 
 
FileOutputStream 은 바이트 데 이 터 를 파일 에 쓰 는 데 사 용 됩 니 다.Output Stream 클래스 계승
구조 방법 요약FileOutputStream(File file)             지정 한 방향 으로 만 들 기  File  대상 이 표시 하 는 파일 에 데 이 터 를 기록 하 는 파일 출력 흐름 입 니 다.FileOutputStream(File file, boolean append)             지정 한 방향 으로 만 들 기  File  대상 이 표시 하 는 파일 에 데 이 터 를 기록 하 는 파일 출력 흐름 입 니 다.FileOutputStream(FileDescriptor fdObj)             지정 한 파일 설명자 에 데 이 터 를 기록 하 는 출력 파일 흐름 을 만 듭 니 다. 이 파일 설명 자 는 파일 시스템 에 있 는 실제 파일 의 기 존 연결 을 표시 합 니 다.FileOutputStream(String name)             지정 한 이름 을 가 진 파일 에 데 이 터 를 기록 하 는 출력 파일 흐름 을 만 듭 니 다.FileOutputStream(String name, boolean append)             지정 한 방향 으로 만 들 기  name  의 파일 에 데 이 터 를 기록 하 는 출력 파일 흐름 입 니 다.
  
방법 요약 void close()             이 파일 의 출력 흐름 을 닫 고 이 흐름 과 관련 된 모든 시스템 자원 을 방출 합 니 다.protected  void finalize()             파일 의 연결 을 정리 하고 이 파일 의 출력 흐름 을 참조 하지 않 을 때 이 흐름 을 사용 하도록 합 니 다.  close  방법 FileChannel getChannel()             이 파일 의 출력 흐름 과 관련 된 유일한 것 을 되 돌려 줍 니 다 FileChannel 대상 FileDescriptor getFD()             이 흐름 과 관련 된 파일 설명 자 를 되 돌려 줍 니 다. void write(byte[] b)             장차  b.length  이 파일 의 출력 흐름 에 바이트 가 지정 한 byte 배열 에서 기 록 됩 니 다. void write(byte[] b, int off, int len)             지정 한 byte 배열 에서 오프셋  off  시작의  len  이 파일 의 출력 흐름 을 바이트 로 기록 합 니 다. void write(int b)             지정 한 바이트 를 이 파일 의 출력 흐름 에 기록 합 니 다.
인 스 턴 스 코드: 이 두 가지 종 류 를 사용 하여 파일 복사:
 
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
class IODemo
{
	public static void main(String[] args) 
	{
		try
		{
		//  FileInputStream FileOutputStream      
		FileInputStream fis=new FileInputStream("a.txt");
		FileOutputStream fos=new FileOutputStream("b.txt");
			int read;
			//read=fis.read();
			byte b[]=new byte[1024];
			//    ,      b,         ,  read,     b    
			read=fis.read(b);
			while(read!=-1)
			{
				fos.write(b,0,read);
				read=fis.read(b);
				//read=fis.read();
			}
			fis.close();
			fos.close();
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		
	}
}

 
상기 예 는 대상 fis 의 read () 방법 만 사용 하여 바이트 마다 데 이 터 를 읽 은 다음 대상 fos 의 write () 라 는 바이트 로 출력 할 수 있 습 니 다.
 
주: FileInputStream 과 FileOutputStream 은 모든 형식의 파일 (바이트 마법사 이기 때문에) 에 적 용 됩 니 다. 텍스트 파일 을 조작 하려 면 FileInputReader 와 FileOutputWriter 를 사용 하 는 것 이 효율 적 입 니 다.

좋은 웹페이지 즐겨찾기