Java 9 で、InputStream の readAllBytes() メソッドをいつ使用するか?

WBOY
リリース: 2023-08-31 17:01:05
転載
553 人が閲覧しました

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

Java 9 以降では、InputStream クラスの readAllBytes() メソッドを使用して、すべてのバイトをバイト配列中央に読み取ることができます。 。このメソッドは、InputStream オブジェクトからすべてのバイトを一度に読み取り、残りのすべてのバイトが読み取られてストリームの終わりが検出されるか、例外がスローされるまでブロックします。

>realAllBytes() このメソッドは、InputStream インスタンスを自動的に閉じることができません。ストリームの最後に到達すると、このメソッドをさらに呼び出すと、空のバイト配列が返される可能性があります。 このメソッドは、大量のデータを含む入力ストリームを読み取るのではなく、 すべてのバイトをバイト配列に読み取る方が便利な単純なユースケースで使用できます。

Syntax

<strong>public byte[] readAllBytes() throws IOException</strong>
ログイン後にコピー

以下の例では、単純なデータを含む「Technology.txt

」を「C:\Temp」フォルダーに作成しましたFile : { "JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"}.< strong>

Example

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();
      }
   }
}
ログイン後にコピー

出力

<strong>"JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"</strong>
ログイン後にコピー

以上がJava 9 で、InputStream の readAllBytes() メソッドをいつ使用するか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:tutorialspoint.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート