>  기사  >  Java  >  Java 바이트 배열 조작 코드 분석 예

Java 바이트 배열 조작 코드 분석 예

coldplay.xixi
coldplay.xixi앞으로
2020-07-22 16:09:472411검색

Java 바이트 배열 조작 코드 분석 예

바이트 배열의 핵심은 메모리의 해당 부분에 저장된 각 8비트 값에 대해 색인화된(빠른) 정확한 원시 액세스를 제공하고 해당 바이트에서 작업하여 각 비트를 제어할 수 있다는 것입니다. 단점은 컴퓨터가 각 항목을 별도의 8비트 숫자로 본다는 것입니다. 이는 프로그램이 처리하는 것일 수도 있고, 자체 길이를 추적하고 다음과 같이 늘어나는 문자열과 같은 좀 더 강력한 데이터 유형을 선호할 수도 있습니다. need 또는 비트 표현에 관계없이 3.14를 저장할 수 있는 부동소수점입니다. 데이터 유형으로서 긴 배열의 시작 부분 근처에 데이터를 삽입하거나 제거하는 것은 생성/필수 간격을 채우거나 채우기 위해 모든 후속 요소를 섞어야 하기 때문에 비효율적입니다.

java는 공식적으로 바이트 배열을 작동하는 방법을 제공합니다 - 메모리 스트림(바이트 배열 스트림) ByteArrayInputStream, ByteArrayOutputStream

ByteArrayOutputStream - 바이트 배열 병합

/**
  * 将所有的字节数组全部写入内存中,之后将其转化为字节数组
  */
  public static void main(String[] args) throws IOException {
    String str1 = "132";
    String str2 = "asd";
    ByteArrayOutputStream os = new ByteArrayOutputStream();
    os.write(str1.getBytes());
    os.write(str2.getBytes());
    byte[] byteArray = os.toByteArray();
    System.out.println(new String(byteArray));
  }

ByteArrayInputStream - 바이트 배열 차단

/**
  *  从内存中读取字节数组
  */
  public static void main(String[] args) throws IOException {
    String str1 = "132asd";
    byte[] b = new byte[3];
    ByteArrayInputStream in = new ByteArrayInputStream(str1.getBytes());
    in.read(b);
    System.out.println(new String(b));
    in.read(b);
    System.out.println(new String(b));
  }

관련 학습 권장사항: Java 비디오 튜토리얼

위 내용은 Java 바이트 배열 조작 코드 분석 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제