바이트 스트림 읽기, 쓰기, 파일 복사

2528 단어 Java 학습 노트
FileInputStream:
클래스의 상속 관계:
java.lang.Object
        java.io.InputStream
                java.io.FileInputStream
이 유형의 구성 방법:
File InputStream (File f) 은 파일 시스템의 File 객체 f를 통해 지정한 File InputStream 연결을 엽니다.FileInputStream(FileDescriptor fdobj)은 파일 설명자 fdobj를 사용하여 파일 시스템의 실제 파일에 대한 기존 연결을 나타내는 FileInputStream을 만듭니다.FileInputStream (String name) 은 파일 시스템의 경로 이름name을 통해 파일 시스템의 파일 연결을 엽니다.
바이트 흐름 객체를 사용하여 파일을 읽으려면 다음과 같이 하십시오.
먼저 바이트 흐름 대상을 만들고 지정한 파일과 연결합니다.
FileInputStream fis = new FileInputStream("C:\\Demo\\byte_test.txt");

이 바이트 흐름 객체를 사용하여 파일을 조작하여 파일 데이터의 읽기와 쓰기를 수행합니다.
// 。
int ch = 0;
while((ch = fis.read()) != -1)	// 
{
	System.out.println((char)ch);
}
// 
fis.close();

그러나 위의 출력 결과는 문자마다 한 줄을 차지하고 원본 파일과 다르다는 것을 발견했다.
이것은 파일의 읽기는 한 바이트 한 바이트 읽기로서 원본 파일의 출력에 따라 print () 방법을 사용할 수 있음을 설명한다.
System.out.print((char)ch);

또는 다른 방법을 사용합니다.
// 。
byte[] buf = new byte[1024];
int len = 0;
while((len = fis.read(buf)) != -1)
{
	System.out.println(new String(buf, 0, len));
}
// 。
fis.close();

이상으로 바이트 흐름이 데이터에 대한 읽기 작업을 완성할 수 있습니다.
 
FileOutputStream:
클래스의 상속 관계:
java.lang.Object
        java.io.OutputStream
               java.io.FileOutputStream
이 유형의 구성 방법:
FileOutputStream(File f)
지정한 File 객체로 표시된 파일에 데이터를 쓰는 파일 출력 스트림을 만듭니다.
FileOutputStream(File f, boolean append)
지정한 File 객체로 표시된 파일에 데이터를 쓰는 파일 출력 스트림을 만듭니다.
FileOutputStream(FileDescriptor fdobj)
지정한 파일 설명자에 데이터를 쓰는 출력 파일 흐름을 만듭니다. 이 파일 설명자는 파일 시스템의 실제 파일에 대한 기존 연결을 나타냅니다.
FileOutputStream(String name)
지정한 이름을 가진 파일에 데이터를 쓰는 출력 파일 흐름을 만듭니다.
바이트 흐름 객체를 사용하여 파일에 데이터를 쓰려면 다음과 같이 하십시오.
// , 。
FileOutputStream fos = new FileOutputStream("C:\\Demo\\byte_test.txt");
// .
fos.write("abcdefg".getBytes());	//getByte() 

이상의 방법은 데이터에 대한 쓰기 작업을 완성합니다.
 
바이트 스트림을 사용한 파일 복사:
// 。
FileInputStream fis = new FileInputStream("C:\\Demo\\test.txt");
// , 。
FileOutputStream fos = new FileOutputStream("D:\\Java\\byte_copy_demo.txt");

byte[] buf = new byte[1024];
int len = 0;
// 
while((len = fis.read(buf)) != -1)
{
	fos.write(buf, 0, len);		// 
}

// 。
fis.close();
fos.close();

상기 방법에서 먼저 바이트 흐름 대상을 사용하여 원본 파일의 데이터를 읽고 바이트 그룹 버퍼에 저장한 다음에 바이트 흐름 대상을 사용하여 데이터를 목적지에 기록하여 파일의 복사 작업을 실현한다.

좋은 웹페이지 즐겨찾기