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

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


Java 9以降、 readNBytes() メソッドをInputStreamに追加できます クラス。このメソッドは、要求されたバイト数を入力ストリームから指定されたバイト配列に読み取ります。 。このメソッドは、lenバイトになるまでブロックします の入力データが読み取られたか、ストリームの終了が検出されたか、例外がスローされました。 readNBytes() メソッドは入力ストリームを閉じません。この方法は、メモリを回避するのに役立ちます。 問題 大きなファイルの場合。

構文
public int readNBytes(byte[] b, int off, int len) throws IOException


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

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

public class InputStreamReadNByteMethodTest {
   InputStream inputStream = nputStreamReadNByteMethodTest.class.getResourceAsStream("Technology.txt");

   public void testReadNBytes() throws Exception {
      final byte[] data = new byte[10];
      inputStream.readNBytes(data, 0, 7);
      System.out.println(new String(data));
   }
   public static void main(String args[]) throws Exception {
      InputStreamReadNByteMethodTest t = new InputStreamReadNByteMethodTest();
      t.testReadNBytes();  
   }
}

出力

"JAVA",

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

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

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

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