FileInputStream : byte단위로 파일을 읽어 오는 클래스 입니다.
사용 예제 ) 코드를 복붙 하여 실행해 보시기 바랍니다.
설명은 주석과 코드 아래부분에 있습니다.
import java.io.FileInputStream; public class Sample { public static void main(String[] args) { try { //// 파일 스트림을 이용한 파일의 내용을 읽어오는 예제 입니다. //file open.. FileInputStream fis = new FileInputStream("c:/temp/java/test/test.txt"); //파일의 내용을 byte단위로 읽어옵니다.그래서 //읽어서 저장할 버퍼 byte 배열 설정 byte[] byteBuff = new byte[9999]; // 파일을 읽고 읽은 크기를 nRLen 에 저장한다. int nRLen = fis.read(byteBuff); //출력을 위해서 byte배열을 문자열로 변환 String strBuff = new String(byteBuff, 0, nRLen); //읽은 내용을 출력 합니다. System.out.printf("읽은 바이트수[%d] : \n읽은 내용 %s \n", nRLen, strBuff); //사용이 끝나면 파일 스트림을 닫습니다. fis.close(); } catch (Exception e) { System.out.println("읽을 파일이 없습니다. \n 읽을 파일을 만들어 준다음 실행 하세요.\n"); System.out.println("c:/temp/java/test/test.txt\n"); } } } //결과는 : //읽은 바이트수[70] : //읽은 내용 1234567890 //abcdefghijklmnopqrstuvwxyz //가나다라마바사아자차카타파하
FileInputStream 은 Stream에서 알수 있는것처럼 파일의 내용을 byte 단위로 읽어 오는 클래스입니다.
출력시에는 String 으로 변환 해야 합니다.
//출력을 위해서 byte배열을 문자열로 변환 String strBuff = new String(byteBuff, 0, nRLen); 사용법은 : 저장할 문자열 = new String(변환할바이트배열,부터,까지);
이름이 InputStream이라서 파일에 기록한다고 생각할 수도 있으나
자바는 철저히 자기밖에 몰라서 자바 JVM 입장에서 파일의 내용을
가지고 오는 것이라 InputStream입니다.
주의할 점은 사용한 파일 스트림 사용 후 에는 반드시 close( )를 해줘야 됩니다.
그렇지 않으면 파일에 접근이 되지 않습니다.
728x90
반응형
'Back-end > JAVA & Spring' 카테고리의 다른 글
[Java] 자바 File 클래스 [북붙따라하기] (0) | 2021.05.28 |
---|---|
[Java] 파일 입출력 FileOutputStream [북붙따라하기] (0) | 2021.05.28 |
[Java] java.io.FileInputStream 주요 메소드 (0) | 2021.05.26 |
[Java] File.separator로 OS 상관없이 파일 경로 구분하기 (0) | 2021.05.26 |
Quartz Job Scheduler란? (0) | 2021.05.24 |
댓글