Maison  >  Article  >  Java  >  Exemple d'analyse du code de manipulation de tableau d'octets Java

Exemple d'analyse du code de manipulation de tableau d'octets Java

coldplay.xixi
coldplay.xixiavant
2020-07-22 16:09:472187parcourir

Exemple d'analyse du code de manipulation de tableau d'octets Java

La clé d'un tableau d'octets est qu'il fournit un accès brut indexé (rapide et précis) à chaque valeur de 8 bits stockée dans cette partie de la mémoire, et vous pouvez manipuler ces octets. opérations pour contrôler chaque bit. L'inconvénient est que l'ordinateur voit simplement chaque entrée comme un nombre distinct de 8 bits - cela pourrait être ce à quoi votre programme est confronté, ou vous préférerez peut-être un type de données plus puissant comme une chaîne qui garde une trace de sa propre longueur et grandit au fur et à mesure. nécessaire, ou un float qui vous permet de stocker, par exemple, 3.14 quelle que soit la représentation au niveau du bit. En tant que type de données, l'insertion ou la suppression de données près du début d'un long tableau est inefficace car tous les éléments suivants doivent être mélangés pour remplir ou combler les espaces créés/requis.

Java fournit officiellement une méthode pour faire fonctionner les tableaux d'octets - flux de mémoire (flux de tableau d'octets) ByteArrayInputStream, ByteArrayOutputStream

ByteArrayOutputStream - fusion de tableaux d'octets

/**
  * 将所有的字节数组全部写入内存中,之后将其转化为字节数组
  */
  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 - interception de tableau d'octets

/**
  *  从内存中读取字节数组
  */
  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));
  }

Recommandations d'apprentissage associées : Tutoriel vidéo Java

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer