java
이 자습서에서는 예제를 통해 Java ByteArrayInputStream 및 해당 메서드에 대해 알아봅니다.
ByteArrayInputStream
java.io
클래스 패키지는 입력 데이터 배열(바이트 단위)을 읽는 데 사용할 수 있습니다.
InputStream
확장 추상 클래스.
참고 :ByteArrayInputStream
에서 , 입력 스트림은 바이트 배열을 사용하여 생성됩니다. 특정 바이트 배열의 데이터를 저장하기 위한 내부 배열을 포함합니다.
바이트 배열 입력 스트림을 생성하려면 java.io.ByteArrayInputStream
을 가져와야 합니다. 먼저 패키지. 패키지를 가져온 후 입력 스트림을 만드는 방법은 다음과 같습니다.
// Creates a ByteArrayInputStream that reads entire array
ByteArrayInputStream input = new ByteArrayInputStream(byte[] arr);
여기에서 arr
에서 전체 데이터를 읽는 입력 스트림을 만들었습니다. 정렬. 그러나 배열에서 일부 데이터만 읽는 입력 스트림을 만들 수도 있습니다.
// Creates a ByteArrayInputStream that reads a portion of array
ByteArrayInputStream input = new ByteArrayInputStream(byte[] arr, int start, int length);
여기서 입력 스트림은 length와 같은 바이트 수를 읽습니다. start에서 시작하는 배열에서 위치.
<시간>
ByteArrayInputStream
클래스는 InputStream
에 있는 다양한 메서드에 대한 구현을 제공합니다. 수업.
read()
- 입력 스트림에 있는 배열에서 단일 바이트를 읽습니다.read(byte[] array)
- 입력 스트림에서 바이트를 읽고 지정된 배열에 저장합니다.read(byte[] array, int start, int length)
- length와 같은 바이트 수를 읽습니다. 스트림에서 start 위치에서 시작하여 지정된 배열에 저장
import java.io.ByteArrayInputStream;
public class Main {
public static void main(String[] args) {
// Creates an array of byte
byte[] array = {1, 2, 3, 4};
try {
ByteArrayInputStream input = new ByteArrayInputStream(array);
System.out.print("The bytes read from the input stream: ");
for(int i= 0; i < array.length; i++) {
// Reads the bytes
int data = input.read();
System.out.print(data + ", ");
}
input.close();
}
catch(Exception e) {
e.getStackTrace();
}
}
}
출력
The bytes read from the input stream: 1, 2, 3, 4,
위의 예에서 input
이라는 바이트 배열 입력 스트림을 만들었습니다. .
ByteArrayInputStream input = new ByteArrayInputStream(array);
여기에서 입력 스트림에는 지정된 배열의 모든 데이터가 포함됩니다. 입력 스트림에서 데이터를 읽기 위해 read()
을 사용했습니다. 방법.
입력 스트림에서 사용 가능한 바이트 수를 얻으려면 available()
을 사용할 수 있습니다. 방법. 예를 들어,
import java.io.ByteArrayInputStream;
public class Main {
public static void main(String args[]) {
// Creates an array of bytes
byte[] array = { 1, 2, 3, 4 };
try {
ByteArrayInputStream input = new ByteArrayInputStream(array);
// Returns the available number of bytes
System.out.println("Available bytes at the beginning: " + input.available());
// Reads 2 bytes from the input stream
input.read();
input.read();
// Returns the available number of bytes
System.out.println("Available bytes at the end: " + input.available());
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
출력
Available bytes at the beginning: 4 Available bytes at the end: 2
위의 예에서
available()
를 사용했습니다. 입력 스트림에서 사용 가능한 바이트 수를 확인하는 메서드입니다.read()
을 사용했습니다. 메서드를 2번 사용하여 입력 스트림에서 2바이트를 읽습니다.
지정된 바이트 수를 삭제하고 건너뛰려면 skip()
을 사용할 수 있습니다. 방법. 예를 들어,
import java.io.ByteArrayInputStream;
public class Main {
public static void main(String args[]) {
// Create an array of bytes
byte[] array = { 1, 2, 3, 4 };
try {
ByteArrayInputStream input = new ByteArrayInputStream(array);
// Using the skip() method
input.skip(2);
System.out.print("Input stream after skipping 2 bytes: ");
int data = input.read();
while (data != -1) {
System.out.print(data + ", ");
data = input.read();
}
// close() method
input.close();
}
catch (Exception e) {
e.getStackTrace();
}
}
}
출력
Input stream after skipping 2 bytes: 3, 4,
위의 예에서는 skip()를 사용했습니다. 입력 스트림에서 2바이트의 데이터를 건너뛰는 메서드입니다. 따라서 1 및 2 입력 스트림에서 읽지 않습니다.
<시간>
입력 스트림을 닫으려면 close()
을 사용할 수 있습니다. 방법.
그러나 close()
메소드는 ByteArrayInputStream
에서 효과가 없습니다. 수업. close()
이후에도 이 클래스의 메소드를 사용할 수 있습니다. 메소드가 호출됩니다.
메소드 | 설명 |
---|---|
finalize() | close() 메소드 호출 |
mark() | 입력 스트림에서 데이터를 읽은 위치를 표시 |
reset() | 표시가 설정된 입력 스트림의 지점으로 컨트롤을 반환합니다. |
markSupported() | 입력 스트림이 mark() 을 지원하는지 확인합니다. 및 reset() |
자세한 내용은 Java ByteArrayInputStream(공식 Java 설명서)을 참조하십시오.
java
자바 PrintStream 클래스 이 자습서에서는 예제를 통해 Java PrintStream 클래스와 해당 print() 및 printf() 메서드에 대해 배웁니다. PrintStream java.io 클래스 패키지는 바이트 대신 일반적으로 읽을 수 있는 형식(텍스트)으로 출력 데이터를 쓰는 데 사용할 수 있습니다. 추상 클래스 OutputStream를 확장합니다. . PrintStream 작업 다른 출력 스트림과 달리 PrintStream 기본 데이터(정수, 문자)를 바이트 대신 텍스트 형식으로 변환합니다. 그런 다음
자바 InputStreamReader 클래스 이 자습서에서는 예제를 통해 Java InputStreamReader 및 해당 메서드에 대해 알아봅니다. InputStreamReader java.io 클래스 패키지를 사용하여 바이트 데이터를 문자 데이터로 변환할 수 있습니다. 추상 클래스 Reader을 확장합니다. . InputStreamReader 클래스는 다른 입력 스트림과 함께 작동합니다. 바이트 스트림과 문자 스트림 간의 브리지라고도 합니다. InputStreamReader 때문입니다. 입력 스트림에서 바이트를 문자로