java
이 자습서에서는 예제를 통해 Java ByteArrayOutputStream 및 해당 메서드에 대해 알아봅니다.
ByteArrayOutputStream
java.io
클래스 패키지는 출력 데이터의 배열(바이트 단위)을 쓰는 데 사용할 수 있습니다.
OutputStream
확장 추상 클래스.
참고 :ByteArrayOutputStream
에서 데이터를 저장할 내부 바이트 배열을 유지합니다.
바이트 배열 출력 스트림을 생성하려면 java.io.ByteArrayOutputStream
을 가져와야 합니다. 먼저 패키지. 패키지를 가져온 후 출력 스트림을 만드는 방법은 다음과 같습니다.
// Creates a ByteArrayOutputStream with default size
ByteArrayOutputStream out = new ByteArrayOutputStream();
여기에서 기본 크기가 32바이트인 바이트 배열에 데이터를 쓰는 출력 스트림을 만들었습니다. 그러나 배열의 기본 크기를 변경할 수 있습니다.
// Creating a ByteArrayOutputStream with specified size
ByteArrayOutputStream out = new ByteArrayOutputStream(int size);
여기서 크기 배열의 길이를 지정합니다.
<시간>
ByteArrayOutputStream
클래스는 OutputStream
에 있는 다양한 메서드의 구현을 제공합니다. 수업.
write(int byte)
- 지정된 바이트를 출력 스트림에 씁니다.write(byte[] array)
- 지정된 배열의 바이트를 출력 스트림에 씁니다.write(byte[] arr, int start, int length)
- length와 같은 바이트 수를 씁니다. start 위치에서 시작하는 배열의 출력 스트림으로 writeTo(ByteArrayOutputStream out1)
- 현재 출력 스트림의 전체 데이터를 지정된 출력 스트림에 씁니다.
import java.io.ByteArrayOutputStream;
class Main {
public static void main(String[] args) {
String data = "This is a line of text inside the string.";
try {
// Creates an output stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] array = data.getBytes();
// Writes data to the output stream
out.write(array);
// Retrieves data from the output stream in string format
String streamData = out.toString();
System.out.println("Output stream: " + streamData);
out.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
출력
Output stream: This is a line of text inside the string.
위의 예에서 output이라는 바이트 배열 출력 스트림을 만들었습니다. .
ByteArrayOutputStream output = new ByteArrayOutputStream();
데이터를 출력 스트림에 쓰기 위해 write()
를 사용했습니다. 방법.
참고 :getBytes()
프로그램에서 사용된 메소드는 문자열을 바이트 배열로 변환합니다.
toByteArray()
- 출력 스트림 내부에 있는 배열을 반환합니다.toString()
- 출력 스트림의 전체 데이터를 문자열 형식으로 반환예를 들어,
import java.io.ByteArrayOutputStream;
class Main {
public static void main(String[] args) {
String data = "This is data.";
try {
// Creates an output stream
ByteArrayOutputStream out = new ByteArrayOutputStream();
// Writes data to the output stream
out.write(data.getBytes());
// Returns an array of bytes
byte[] byteData = out.toByteArray();
System.out.print("Data using toByteArray(): ");
for(int i=0; i<byteData.length; i++) {
System.out.print((char)byteData[i]);
}
// Returns a string
String stringData = out.toString();
System.out.println("\nData using toString(): " + stringData);
out.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
출력
Data using toByteArray(): This is data. Data using toString(): This is data.
위의 예에서 toByteArray()
에 의해 반환된 데이터를 저장하기 위해 바이트 배열을 만들었습니다. 방법.
그런 다음 for 루프를 사용하여 배열의 각 바이트에 액세스했습니다. 여기서 각 바이트는 typecasting을 사용하여 해당 문자로 변환됩니다.
<시간>
출력 스트림을 닫으려면 close()
을 사용할 수 있습니다. 방법.
그러나 close()
메소드는 ByteArrayOutputStream
에서 효과가 없습니다. 수업. close()
이후에도 이 클래스의 메소드를 사용할 수 있습니다. 메소드가 호출됩니다.
메소드 | 설명 |
---|---|
size() | 출력 스트림의 배열 크기를 반환 |
flush() | 출력 스트림을 지웁니다 |
자세한 내용은 Java ByteArrayOutputStream(공식 Java 설명서)을 참조하십시오.
java
자바 작성기 클래스 이 자습서에서는 예제를 통해 Java Writer, 해당 하위 클래스 및 메서드에 대해 알아봅니다. Writer java.io 클래스 패키지는 문자 스트림을 나타내는 추상 슈퍼클래스입니다. Writer 이후 추상 클래스이므로 그 자체로는 유용하지 않습니다. 그러나 하위 클래스를 사용하여 데이터를 쓸 수 있습니다. 작가의 하위 클래스 Writer의 기능을 사용하려면 , 우리는 그 하위 클래스를 사용할 수 있습니다. 그 중 일부는 다음과 같습니다. BufferedWriter OutputStreamWriter
자바 PrintWriter 클래스 이 자습서에서는 예제를 통해 Java PrintWriter와 그 print() 및 printf() 메서드에 대해 배웁니다. PrintWriter java.io 클래스 패키지는 일반적으로 읽을 수 있는 형식(텍스트)으로 출력 데이터를 작성하는 데 사용할 수 있습니다. 추상 클래스 Writer를 확장합니다. . PrintWriter 작업 다른 작성자와 달리 PrintWriter 원시 데이터를 변환합니다(int , float , char 등)을 텍스트 형식으로 변환합니다. 그런 다음 형식이 지