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

자바 ByteArrayOutputStream 클래스

자바 ByteArrayOutputStream 클래스

이 자습서에서는 예제를 통해 Java ByteArrayOutputStream 및 해당 메서드에 대해 알아봅니다.

ByteArrayOutputStream java.io 클래스 패키지는 출력 데이터의 배열(바이트 단위)을 쓰는 데 사용할 수 있습니다.

OutputStream 확장 추상 클래스.

참고 :ByteArrayOutputStream에서 데이터를 저장할 내부 바이트 배열을 유지합니다.

<시간>

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 메소드

ByteArrayOutputStream 클래스는 OutputStream에 있는 다양한 메서드의 구현을 제공합니다. 수업.

write() 메소드

예:데이터 쓰기를 위한 ByteArrayOutputStream

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() 프로그램에서 사용된 메소드는 문자열을 바이트 배열로 변환합니다.

<시간>

ByteArrayOutputStream에서 데이터 액세스

예를 들어,

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()을 사용할 수 있습니다. 방법.

그러나 close() 메소드는 ByteArrayOutputStream에서 효과가 없습니다. 수업. close() 이후에도 이 클래스의 메소드를 사용할 수 있습니다. 메소드가 호출됩니다.

<시간>

ByteArrayOutputStream의 다른 메서드

메소드 설명
size() 출력 스트림의 배열 크기를 반환
flush() 출력 스트림을 지웁니다

자세한 내용은 Java ByteArrayOutputStream(공식 Java 설명서)을 참조하십시오.


java

  1. 자바 최종 키워드
  2. 자바 instanceof 연산자
  3. 자바 상속
  4. 자바 중첩 정적 클래스
  5. 자바 익명 클래스
  6. 자바 싱글톤 클래스
  7. 자바 리플렉션
  8. 자바 ObjectOutputStream 클래스
  9. 자바 제네릭
  10. 자바 파일 클래스