자바 파일 입출력을 하기 위해서는
FileInputStream , FileOutputStream을 사용해야 합니다.
FileInputStream은 파일에서 바이트를 읽어들여 바이트 스트림으로 변환하는 역할입니다.
FileOutputStream은 반대로 보시면 되겠죠^^
그럼 거두절미하고ㅋㅋ 바로 코드를 보시죠!!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; public class Test { public static void main(String[] args) { FileInputStream fis = null; FileOutputStream fos = null; try{ fis = new FileInputStream("src/Test.java"); fos = new FileOutputStream("byte.txt"); int readData = -1; //읽었을때 값을 받기 위함 while((readData = fis.read()) != -1) { fos.write(readData); } } catch(Exception e) { } try{ fos.close(); fis.close(); }catch(IOException e1) {} } } |
파일을 읽기 위해서는 FileInputStream의 read() 메소드를 이용해야합니다.
그런데 생각을 해봅시다. read()라는 것은 직관적으로 파일을 읽는다는것은 알겠는데 끝은 어떻게 알까요?
코드를 보면 유추하실수 있겠지만 더 이상 파일에서 읽을부분이 없다면 -1을 리턴하게 됩니다.
-1을 리턴하게 되면 파일을 끝임을 나타냅니다.
read() 메소드는 1byte씩 읽을수 있습니다.
readData = fis.read() 로 설명해보겠습니다.
바이트를 리턴하게 된다면 끝을 나타낼수 없기 때문에 바이트가 아닌 인트값을 리턴하게 됩니다.
readData는 4byte입니다. read() 메소드는 읽어들인 1byte를 4byte의 마지막에 저장하게 됩니다.
'프로그래밍 > 자바' 카테고리의 다른 글
자바 어노테이션(Annotation) 만들기 (0) | 2018.08.23 |
---|---|
자바 파일 입출력 I/O 심화!! (1) | 2018.08.21 |
자바 I/O 알아보자 (0) | 2018.08.21 |
[JAVA] JAVA_FX 설치하기 (0) | 2018.08.07 |
JAVA 환경 변수 세팅 (0) | 2018.07.21 |