파일 입출력 - FileWriter, FileReader

2023. 1. 20. 21:03프로그래밍 언어/JAVA

파일 입출력하기
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.FileReader;


public class Main {
	public static void main(String[] args) throws IOException {
    	System.out.println("파일 입출력하기");
        
        //이때, 큰따옴표 안의 경로를 비워놓으면 지금 현재 파일의 경로를 의미한다. 
        File f = new File("abc.txt");
        
        //파일을 대상으로 통로를 만들어주기 위해 통로인 filewriter를 만들어준다.
        //괄호 안쪽에는 어떤 파일을 연결할지를 지칭해준다.(f)
        //객체를 만들기만 하고 아무것도 연결해주지 않으면 사용할 수 없기 때문에 변수에 담아준다.
        //이 통로는 FileWriter는 일방 통행이다. 그렇기 때문에 내보내는 것만 가능한 통로다.
        FileWriter fw = new FileWriter(f);
        fw.write("HelloJonny!!!");
        
        
        //하지만, 지금은 통로에만 남아있는 상태다.
        //통로에 있는 글자들을 내보내줘야 한다.
        //내보내주는 메소드는 flush()다.
        fw.flush();
        
        //읽어들이기
        //우선, 읽어들일 수 있는 통로를 만든다.
        FileReader fr = new FileReader(f);
        
        //그리고, 읽는다
        int result = fr.read();
        
        //출력문을 이용해서 읽어들인다
        System.out.println(result);
        
        //그런데, 값이 104인 숫자가 나온다.
        //이는 아스키코드로 변환되어 나오는 것인데
        //그래서 character로 변환해줘야 한다.
        
        //이렇게 하면, 잘 실행된다.
        char result = (char)fr.read();
        System.out.println(result);
        
        
        
        
        
    }
}

'프로그래밍 언어 > JAVA' 카테고리의 다른 글

Catch/ throw  (0) 2023.01.25
파일 입출력 - BufferedReader, BufferedWriter  (0) 2023.01.20
객체의 라이프 사이클  (0) 2023.01.20
자바 - 상속(Inheritance)  (0) 2023.01.18
배열 - 얕은 복사/ 깊은 복사  (0) 2023.01.10