Java
 Computer >> コンピューター >  >> プログラミング >> Java

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


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

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

構文

public byte[] readAllBytes() throws IOException

以下の例では、「Technology.txt」を作成しました 「C:\Temp」のファイル 単純なデータを含むフォルダー: {"JAVA"、 "PYTHON"、 "JAVASCRIPT"、 "SELENIUM"、"SCALA"}。

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(InputStream stream = Files.newInputStream(Paths.get("C://Temp//Technology.txt"))) {
         // Convert stream to string
         String contents = new String(stream.readAllBytes(), StandardCharsets.UTF_8);

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

出力

"JAVA", "PYTHON", "JAVASCRIPT", "SELENIUM", "SCALA"

  1. Javaでpack()メソッドを使用できるのはいつですか?

    pack() メソッドはウィンドウで定義されています Javaのクラスであり、すべてのコンテンツが適切なサイズ以上になるようにフレームのサイズを設定します。 pack()の代替 メソッドは、 setSize()を呼び出して、フレームサイズを明示的に確立することです。 またはsetBounds() メソッド。通常、 pack()を使用します setSize()よりもメソッドを呼び出す方が望ましい パックはフレームレイアウトマネージャーにフレームサイズを任せ、レイアウトマネージャーはプラットフォームの依存関係やコンポーネントサイズに影響を与えるその他の要因にうまく適応できるためです。 構文 p

  2. JavaでのsetBounds()メソッドの使用は何ですか?

    レイアウト マネージャー 追加されたコンポーネントの位置とサイズを自動的に決定するために使用されます。レイアウトマネージャーがない場合は、コンポーネントの位置とサイズを手動で設定する必要があります。 setBounds() このような状況では、メソッドを使用して位置とサイズを設定します。コンポーネントの位置とサイズを手動で指定するには、フレームのレイアウトマネージャーを nullにすることができます。 。 setBounds() setBounds() メソッドには4つの引数が必要です。最初の2つの引数は、x座標とy座標です。 左上の コーナー コンポーネントの3番目の引数は幅です コ