JAVA/포스팅

자바 문자기반 스트림

짜집퍼박사(짜박) 2023. 11. 25. 23:24

자바의 문자 기반 스트림은 문자(char) 데이터를 입출력하는 데 사용되는 스트림입니다. 주로 텍스트 파일이나 문자열과 같은 문자 데이터를 처리할 때 유용합니다. 여기에는 주요한 문자 기반 스트림 몇 가지가 있습니다.

 

1. FileReader 및 FileWriter

FileReader 및 FileWriter는 파일에서 문자를 읽고 쓰는 데 사용됩니다.

try (FileReader reader = new FileReader("input.txt");
     FileWriter writer = new FileWriter("output.txt")) {

    int data;
    while ((data = reader.read()) != -1) {
        writer.write(data);
    }
} catch (IOException e) {
    e.printStackTrace();
}

 

2. BufferedReader 및 BufferedWriter

BufferedReader 및 BufferedWriter는 성능 향상을 위해 버퍼링을 제공하는 문자 기반 스트림입니다.

try (BufferedReader br = new BufferedReader(new FileReader("input.txt"));
     BufferedWriter bw = new BufferedWriter(new FileWriter("output.txt"))) {

    String line;
    while ((line = br.readLine()) != null) {
        bw.write(line);
        bw.newLine();  // 새로운 줄에 쓰기
    }
} catch (IOException e) {
    e.printStackTrace();
}

 

3. CharArrayReader 및 CharArrayWriter

CharArrayReader 및 CharArrayWriter는 문자 배열을 읽고 쓰는 데 사용됩니다.

char[] charArray = "Hello, World!".toCharArray();

try (CharArrayReader reader = new CharArrayReader(charArray);
     CharArrayWriter writer = new CharArrayWriter()) {

    int data;
    while ((data = reader.read()) != -1) {
        writer.write(data);
    }

    char[] resultCharArray = writer.toCharArray();
} catch (IOException e) {
    e.printStackTrace();
}

 

4. StringReader 및 StringWriter

StringReader 및 StringWriter는 문자열을 읽고 쓰는 데 사용됩니다.

String inputString = "Java is fun!";

try (StringReader reader = new StringReader(inputString);
     StringWriter writer = new StringWriter()) {

    int data;
    while ((data = reader.read()) != -1) {
        writer.write(data);
    }

    String resultString = writer.toString();
} catch (IOException e) {
    e.printStackTrace();
}

 

5. PrintWriter

PrintWriter는 다양한 자료형을 문자로 출력할 수 있는 편리한 메서드를 제공합니다.

try (PrintWriter writer = new PrintWriter("output.txt")) {
    writer.println("Hello, World!");
    writer.printf("Formatted Number: %d", 42);
} catch (FileNotFoundException e) {
    e.printStackTrace();
}

이러한 문자 기반 스트림들은 각각의 특징에 따라 다양한 상황에서 사용됩니다. 선택된 스트림은 작업의 성격 및 요구사항에 따라 적절하게 선택되어야 합니다.

 

With ChatGPT

'JAVA > 포스팅' 카테고리의 다른 글

자바 OutputStream  (0) 2023.11.25
자바 InputStream  (0) 2023.11.25
자바 보조스트림  (0) 2023.11.25
자바 바이트기반 스트림  (0) 2023.11.25
자바 입출력  (0) 2023.11.25