[JAVA] 정리/파일(file)

파일(file) - 9. 파일 쓰기 FileWriter

쎈코 2023. 2. 27. 23:59

FileOutputStream 불편해서 개량 > FileWriter

try {
     //문자 단위 쓰기(2byte)
     FileWriter writer = new FileWriter("C:\\class\\code\\java\\file\\data3.txt");

     writer.write("ABC");               //for문이나 배열 안돌려도 바로 문자열 입력 가능
     writer.write("홍길동");            //한글도 입력 가능

     writer.close();                       //닫아야 함
     System.out.println("완료");
} catch(Exception e) {
     e.printStackTrace();
}

 

 

EX] 파일명 입력받아서 글자 입력

 

try {
     Scanner scan = new Scanner(System.in);
     System.out.print("저장할 파일명: ");
     String fileName = scan.nextLine();

     FileWriter writer = new FileWriter("C:\\class\\code\\java\\file\\" + fileName);

     boolean loop = true;
     while(loop) {                           //무한루프(계속 값이 true니까)
         System.out.println("입력: ");     //break 전까지 계속 입력
         String line = scan.nextLine();
         

         if(line.equals("exit")) {        //그만두기라는 명령어 -> 메모장에 exit 적으면 입력 정지
         break;
         }
     writer.write(line);                   // 한 줄 입력 > 텍스트 파일 한 줄 쓰기 추가
     writer.write("\r\n");                 //line에 쓴 글들을 메모장에 추가
     }

     //자원 해제 코드(Clean up code)
     scan.close();
     writer.close();

     System.out.println("쓰기 종료");
} catch(Exception e) {
     e.printStackTrace();
}