#15. JAVA_file
파일의 경로를 알면 그 경로로 파일 객체를 생성할 수 있다. 먼저 스트링에 파일의 경로를 저장하고, 파일 객체를 생성해보겠다.

참고로 위의 test.txt 파일에는 "안녕하세요"라는 말이 적혀있다.
만약 java study file 밑에 aaa라는 파일을 만들고 싶으면 다음과 같이 코드를 작성하면 된다.

파일에 저장된 문자를 읽어 들일 수도 있다. FileInputStream을 사용해야 한다. FileInputStream 객체를 생성해야 하는데 try catch문 안에서 객체를 생성해야 오류가 생기지 않는다.

하지만 이 코드를 실행해보면 test 파일에 저장된 문자열인 "안녕하세요"가 출력되는 게 아니라 쓰레기 값이 출력된다. 이 이유는 한글은 2byte이고, char은 1byte라서 이다. 파일에 있는 문자열을 변수에 저장할 때는 1byte의 단위로 저장을 하게 된다. 따라서 쓰레기 값이 아닌 정상적인 한글로 된 문자열을 출력하기 위해서는 code를 byte 배열로 선언하여 먼저 byte의 형태로 값을 받아준 다음, String 클래스를 통해 byte에서 String으로 타입을 바꿔줘야 한다.
FileReader
위와 같이 FileInputStream으로 문자열을 읽어 들이면 한글과 같이 2byte인 문자는 String타입으로 바꿔줘야 한다는 불편함이 있다. FileReader을 사용하면 그러한 번거로운 과정을 거치지 않아도 된다. FileReader 객체를 생성하면 1byte는 1byte로 읽어 들이고, 2byte는 2byte로 읽어 들인다.

FileWriter
생성한 파일에 원하는 문자열을 담아서 저장할 수도 있다. FileWriter 객체를 생성하면 된다. 사용법은 예시를 통해 확인해보겠다.

FileWriter을 사용할 때 주의할 점은 마지막에 파일을 close 해주지 않으면 문자열이 파일에 담기지 않는다는 것이다. 따라서 close는 꼭 해주어야 한다. FileWriter 외에도 close는 무조건 해주는 것이 좋다.