산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java StringWriter 마스터하기: 사용법, 메서드, 실전 예제

Java StringWriter 클래스

Java의 StringWriter가 문자 데이터를 메모리 내 버퍼에 쓰는 방식, 핵심 메서드, 실전 예제를 알아봅니다.

java.io 패키지의 StringWriter 클래스는 추상 Writer 클래스를 확장하며 개발자가 문자 데이터를 가변 문자열 버퍼에 쓸 수 있게 합니다. 이 버퍼는 필요에 따라 확장될 수 있으며 나중에 toString()을 통해 표준 String으로 변환할 수 있습니다.

참고: Java에서 문자열 버퍼는 가변 문자열처럼 동작하여 콘텐츠를 수정할 수 있습니다. toString() 메서드는 현재 값을 불변 String으로 조회하는 데 사용됩니다.


StringWriter 생성하기

StringWriter를 인스턴스화하려면 먼저 클래스를 임포트합니다:

import java.io.StringWriter;

그런 다음 객체를 생성합니다:

// 기본 버퍼 용량의 StringWriter 생성
StringWriter output = new StringWriter();

많은 양의 데이터가 예상된다면 초기 버퍼 크기를 지정할 수도 있습니다:

// 미리 정의된 버퍼 용량의 StringWriter 생성
StringWriter output = new StringWriter(int size);

size 인수는 내부 버퍼의 초기 용량을 결정합니다.


StringWriter의 핵심 메서드

이 클래스는 Writer에서 상속받은 여러 메서드를 구현하여 유연한 데이터 처리를 가능하게 합니다.

write() 메서드


예제: StringWriter 사용하기

import java.io.StringWriter;

public class Main {
    public static void main(String[] args) {
        String data = "This is the text in the string.";
        try {
            // 기본 용량의 StringWriter 생성
            StringWriter output = new StringWriter();
            // 버퍼에 데이터 쓰기
            output.write(data);
            // 콘텐츠 출력
            System.out.println("Data in the StringWriter: " + output);
            output.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

실행 결과

Data in the StringWriter: This is the text in the string.

이 예제에서 output 변수는 StringWriter 인스턴스를 가집니다. write() 메서드는 문자열 데이터를 내부 버퍼에 추가하고, 버퍼의 콘텐츠는 output.toString() 호출로 표시됩니다.

버퍼에서 데이터 접근하기

예제:

import java.io.StringWriter;

public class Main {
    public static void main(String[] args) {
        String data = "This is the original data";
        try {
            StringWriter output = new StringWriter();
            output.write(data);
            StringBuffer sb = output.getBuffer();
            System.out.println("StringBuffer: " + sb);
            String str = output.toString();
            System.out.println("String: " + str);
            output.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

실행 결과

StringBuffer: This is the original data
String: This is the original data

close() 메서드

StringWriter에서 close()를 호출해도 리소스를 해제하거나 추가 쓰기를 막지 않습니다. 닫은 후에도 객체를 계속 사용할 수 있습니다.

추가 StringWriter 메서드

메서드설명
flush()모든 버퍼링된 데이터가 문자열 버퍼에 쓰이도록 보장(StringWriter에서는 사실상 no-op).
append()현재 버퍼에 문자나 문자열을 추가합니다.

완전한 레퍼런스는 공식 Java 문서를 참조하세요.

java

  1. Java String 마스터하기: 생성, 메서드, 모범 사례
  2. Java final 키워드 마스터: 변수, 메서드, 클래스에서의 활용
  3. Java instanceof 연산자 완벽 가이드: 기본 사용법부터 상속, 인터페이스까지
  4. Java 정적 중첩 클래스 이해: 용법, 내부 클래스와의 차이, 예제
  5. Java 익명 내부 클래스 마스터: 정의, 문법, 실전 예제
  6. Java 싱글톤 패턴 완벽 가이드: 안전하게 구현하고 사용하기
  7. Java Enum 문자열 표현 마스터: 기본값, 오버라이딩, 고급 패턴
  8. Java 리플렉션 마스터: 런타임에 클래스, 메서드, 필드 검사 및 조작
  9. Java ObjectOutputStream 마스터하기: 직렬화, 메서드, 실전 예제
  10. Java 제네릭 마스터하기: 재사용 가능하고 타입 안전한 코드 작성