Maison  >  Article  >  Java  >  Quand utiliser la méthode readAllBytes() d'InputStream dans Java 9 ?

Quand utiliser la méthode readAllBytes() d'InputStream dans Java 9 ?

WBOY
WBOYavant
2023-08-31 17:01:05547parcourir

在Java 9中何时使用InputStream的readAllBytes()方法?

À partir de Java 9, nous pouvons utiliser la méthode readAllBytes() dans la classe InputStream pour lire tous les octets dans un tableau d'octets. Cette méthode lit tous les octets de l'objet InputStream en même temps et se bloque jusqu'à ce que tous les octets restants aient été lus et que la fin du flux soit détectée ou qu'une exception soit levée. La méthode

>reallAllBytes() ne peut pas fermer automatiquement l'instance InputStream . Lorsqu'il atteint la fin du flux, d'autres appels à cette méthode peuvent renvoyer un tableau d'octets vide. Nous pouvons utiliser cette méthode dans des cas d'utilisation simples où il est pratique de lire tous les octets dans un tableau d'octets plutôt que de lire un flux d'entrée contenant une grande quantité de données.

Syntaxe

<strong>public byte[] readAllBytes() throws IOException</strong>

Dans l'exemple ci-dessous, nous avons créé un fichier "Technology.txt" dans le dossier "C:Temp" contenant des données simples : { "JAVA", "PYTHON", " JAVASCRIPT", "SELENIUM", "SCALA"}.

Exemple

import java.nio.*;
import java.nio.file.*;
import java.io.*;
import java.util.stream.*;
import java.nio.charset.StandardCharsets;

public class ReadAllBytesMethodTest {
   public static void main(String args[]) {
      try(<strong>InputStream </strong>stream = <strong>Files</strong>.newInputStream(<strong>Paths.get</strong>("C://Temp//Technology.txt"))) {
         <strong>// Convert stream to string</strong>
         String contents = new String(stream.<strong>readAllBytes()</strong>, <strong>StandardCharsets.UTF_8</strong>);

         <strong>// To print the string content</strong>
         System.out.println(contents);
      } catch(IOException ioe) {
         ioe.printStackTrace();
      }
   }
}

Sortie

<strong>"JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"</strong>

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