Java/파일 입출력

[Java / 파일 입출력] String

2024. 12. 27. 12:42

String 출력

`String`타입의 데이터를 파일 출력하는 방식

  • 문자열은 객체 출력과 바이트 출력이 모두 가능
  • 바이트 출력이 편하지만 변환을 수동으로 해야함
String str = "안녕하세요";
		
File target = new File("sample", "string4.txt");
FileWriter fw = new FileWriter(target);
BufferedWriter bw = new BufferedWriter(fw);
PrintWriter pw = new PrintWriter(bw);

pw.println(str);
pw.println(str);
pw.println(str);
pw.println(100);
pw.println(100+200);

pw.close();

FileWriter

파일에 문자 단위로 데이터를 쓰는 클래스

  • 버퍼링을 하지 않아 낮은 성능
FileWriter fw = new FileWriter(target);

 

BufferedWriter

버퍼링된 문자 출력 스트림을 제공하는 클래스

  • 버퍼링을 하여 한 번에 출력하기 때문에 성능 향상
  • 데이터를 직접 쓰지 않고 버퍼에 쌓인 후 배치 단위로 씀
  • `FileWriter`와 같이 쓰임
BufferedWriter bw = new BufferedWriter(fw);

 

PrintWriter

문자 출력 스트림을 제공하는 클래스

  • 자동으로 `flush()`를 수행하여 데이터를 버퍼에 저장하고 자동으로 출력
  • `FileWriter`, `BufferedWriter`와 같이 쓰임
PrintWriter pw = new PrintWriter(bw);

.println()

파일에 문자열을 출력하는 메서드

pw.println(str)

 

.close()

문자 출력 통로를 해제하는 클래스

pw.close()

String 입력

`String`타입의 데이터를 파일에서 입력받는 방식

  • line이 null이면 `EOF` 처리
File target = new File("sample", "string4.txt");
FileReader fr = new FileReader(target);
BufferedReader br = new BufferedReader(fr);

while(true) {
    String line = br.readLine();
    if(line == null) break;//EOF(null)
    System.out.println("line = " + line);
}

br.close();

FileReader

파일에서 문자 단위 데이터를 읽는 클래스

  • 버퍼링을 하지 않아 낮은 성능
FileReader fr = new FileReader(target);

 

BufferedReader

버퍼링된 문자 입력 스트림을 제공하는 클래스

  • 버퍼링을 통해 데이터를 일괄처리하여 성능 향상
  • `FileReader`와 같이 쓰임
BufferedReader br = new BufferedReader(fr);

.readLine()

파일을 한 줄씩 읽어 반환하는 메서드

br.readLine()

 

.close()

문자 입력 통로를 해제하는 메서드

br.close()

표준 입력

`Scanner`가 아닌 `BufferedReader`로 키보드를 통해 입력 가능

InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader br = new BufferedReader(isr);

System.out.print("입력 : ");
String line = br.readLine();

br.close();

System.out.println("입력값 : " + line);

InputStreamReader

바이트 기반의 입력 스트림을 문자 기반의 입력 스트림으로 변환해주는 클래스

  • `System.in`을 생성자 인자로 입력받음
  • `BufferedReader`에 `InputStreamReader` 객체가 인자로 입력받음
InputStreamReader isr = new InputStreamReader(System.in);

 

'Java > 파일 입출력' 카테고리의 다른 글

[Java / 파일 입출력] 객체  (1) 2024.12.27
[Java / 파일 입출력] 멀티 바이트  (0) 2024.12.27
[Java / 파일 입출력] 싱글 바이트  (1) 2024.12.27
[Java / 파일 입출력] File과 Directory  (0) 2024.12.27
'Java/파일 입출력' 카테고리의 다른 글
  • [Java / 파일 입출력] 객체
  • [Java / 파일 입출력] 멀티 바이트
  • [Java / 파일 입출력] 싱글 바이트
  • [Java / 파일 입출력] File과 Directory
개발하는 벌꿀오소리
개발하는 벌꿀오소리
겁없는 벌꿀오소리처럼 끊임없이 도전하자!
  • 글쓰기 관리
  • 개발하는 벌꿀오소리
    벌꿀오소리의 개발 노트
    개발하는 벌꿀오소리
  • 전체
    오늘
    어제
    • 분류 전체보기 (74)
      • Java (60)
        • 기본 (23)
        • 모듈 (8)
        • 자료구조 (5)
        • 알고리즘 (0)
        • 파일 입출력 (5)
        • JDBC (5)
        • Spring Boot (14)
      • Oracle (13)
      • Project (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 공지사항

  • hELLO· Designed By정상우.v4.10.3
개발하는 벌꿀오소리
[Java / 파일 입출력] String
상단으로

티스토리툴바