VB.NET 2008/VB - 파일 액세스

파일 액세스 - FileStream을 사용하여 파일 복사

본클라쓰 2011. 12. 23. 10:27

 

 파일 시스템에서 파일의 읽기, 쓰기, 열기 및 닫기를 수행하는 것 뿐 아니라 파이프, 표준 입력 및 표준 출력 같은 파일 관련 운영 체제 핸들을 조작하기 위해여 사용합니다. 특히 디스크 공간이 제한된 환경에서는 모든 FileStream 개체에서 Dispose 메서드를 호출해야 합니다. 사용 가능한 디스크 공간이 없고 FileStream을 종료하기 전에 Dispose 메서드를 호출하지 않은 경우 IO 작업을 수행하면 예외가 발생할 수 있습니다.

 

 스트림을 생성하여 스트림에서 데이터를 읽을 때는 read(buffer, offset, count) 메서드를 사용합니다. read() 메서드는 현재 스트림에서 바이트의 시퀀스를 읽고 읽은 바이트 수만큼 스트림 내에서 앞으로 이동합니다. 인자로 buffer는 바이트 배열로 반환될 때 버퍼에서 지정된 바이트 배열의 값이 offset에서 offset + count -1 사이에서 현재 소스로부터 읽어온 바이트로 교체됩니다. offset은 현재 스트림에서 읽은 데이터를 저장하기 시작하는 버퍼의 offset 값입니다. count는 현재 스트림에서 읽을 최대 바이트 수를 나타냅니다.   반환값은 버퍼로 일어온 총 바이트 수입니다. 이 바이트 수는 현재 바이트가 충분하지 않은 경우 요청된 바이트 수보다 작을 수 있으며 스트림의 긑에 도달하면 0이 됩니다.

 

 아래 예제는 파일 하나를 읽어 똑같은 파일을 생성하는 코드입니다.

 

 아래는 FTP 응답 스트림과 파일 스트림을 연결하여 파일을 다운로드 받게 하는 예제입니다.