본문으로 바로가기

자바 파일 입출력 실습!!

category 프로그래밍/자바 2018. 8. 21. 01:29


자바 파일 입출력을 하기 위해서는 

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) {}
                
    }
 
}
 

cs


파일을 읽기 위해서는  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