Ubuntu 20.04 の Java ファイル入力ストリーム

Ubuntu 20 04 No Java Fairu Ru Lisutorimu



「この記事では、Java Input Stream クラスを使用して、ファイルからバイト配列にデータを読み取るさまざまな方法について説明します。このクラスは、ファイルからの並べ替えられたバイト ストリームを表します。 Java 入力ストリーム クラスには、read()、available()、skip()、および close() メソッドなど、一般的に使用され、この記事で説明する複数の関数があります。これらのメソッドは、bin ファイルや txt ファイルなどのさまざまな拡張子のファイルを読み取るために使用され、ファイル内の任意の場所から情報を取得するように変更できます。この記事では、Ubuntu 20.04 環境でこれらのメソッドを実装します。

File Input Stream クラスには、ファイルからデータを取得するのに非常に役立つメソッドが他にもたくさんあります。それらのいくつかは int read(byte[] b) です。この関数は、入力ストリームから最大 b.length バイトの長さのデータを読み取ります。 File Channel は channel() を取得します。これを使用して、ファイル入力ストリームに接続された特定の File Channel オブジェクトが返されます。 Finalize() は、ファイル入力ストリームへの参照がなくなったときに close() 関数が呼び出されるようにするために使用されます。」

例 01: 入力ストリーム クラスの read() および close() メソッドを使用して、テキスト ファイルから 1 バイトを読み取る

この例では、ファイル入力ストリームを使用して 1 文字を読み取り、コンテンツを出力します。以下に示す内容の「file.txt」という名前のファイルがあるとします。









上記の内容の「file.txt」という名前のファイルがあるとします。ファイルの最初の文字を読み取って出力してみましょう。







最初に java.io をインポートする必要があります。ファイル入力ストリームを構築するためのファイル入力ストリーム パッケージ。次に、変数「f」で指定されたファイル (file.txt) にリンクされる File Input Stream の新しいオブジェクトを作成します。

この例では、Java File Input Stream クラスの「int read()」メソッドを使用します。これは、ファイルから 1 バイトを読み取り、それを変数「I」に保存するために使用されます。次に、「System.out.print(char(i))」は、そのバイトに対応する文字を表示します。



f.close() メソッドは、ファイルとストリームを閉じます。前述のスクリプトをビルドして実行すると、次の出力が得られます。テキスト「L」の頭文字のみが出力されていることがわかります。

例 02: 入力ストリーム クラスの read() メソッドと close() メソッドを使用して、テキスト ファイルのすべてのコンテンツを読み取る

この例では、テキスト ファイルのすべての内容を読み取って表示します。以下に示すように:

もう一度、java.io をインポートします。ファイル入力ストリームを構築するためのファイル入力ストリーム パッケージ。

まず、ファイルの最初のバイトを読み取り、while ループ内に対応する文字を表示します。 while ループは、バイトがなくなるまで、つまりファイル内のテキストの終わりまで実行されます。 12 行目で次のバイトを読み取り、ループはファイルの最後のバイトまで続きます。

上記のコードをコンパイルして実行すると、次の結果が得られます。ご覧のとおり、ファイル「Lorep Ipsum」のテキスト全体がターミナルに表示されます。

例 03: 入力ストリーム クラスの available() メソッドを使用して、テキスト ファイルで使用可能なバイト数を確認する

この例では、ファイル入力ストリームの「available()」関数を使用して、ファイル入力ストリーム内の既存のバイト数を決定します。

まず、次のコードで「a」という名前のファイル入力ストリーム クラスのオブジェクトを生成しました。 5 行目では、「available()」メソッドを使用して、ファイル内の使用可能なバイトの合計量を特定して表示しています。そして、6行目から8行目で「read()」関数を3回使用しています。 9 行目では、「available()」メソッドを再度使用して、残りのバイトを確認して表示しています。

コードをコンパイルして実行すると、出力の最初の行に、ファイルで使用可能な合計バイト数が表示されます。次の行は、コードの末尾で使用可能なバイト数を示しています。これは、先頭で使用可能なバイト数よりも 3 少ない値です。これは、コードで read メソッドを 3 回使用したためです。

例 04: テキスト ファイルのバイトをスキップして、入力ストリーム クラスの skip() メソッドを使用して特定のポイントからデータを読み取る

この例では、ファイル入力ストリームの「skip(x)」メソッドを使用します。これは、入力ストリームから指定されたバイト数のデータを無視して無視するために使用されます。

以下のコードでは、最初にファイル入力ストリームを作成し、変数「a」に格納しています。次に、ファイルの最初の 5 バイトをスキップする「a.skip(5)」メソッドを使用しました。次に、while ループ内で「read()」メソッドを使用して、ファイルの残りの文字を出力しました。最後に、「close()」メソッドでファイル入力ストリームを閉じました。

以下は、コードをコンパイルして実行した後のターミナルのスクリーンショットです。ご覧のとおり、「skip()」メソッドを使用して最初の 5 バイトをスキップしたため、「Ipsum」のみが表示されます。

結論

この記事では、File Input Stream クラスとそのさまざまなメソッドの使用について説明しました。 read()、available()、skip()、および close()。これらのメソッドを使用して、 read() および close() メソッドを使用してファイルの最初の要素を読み取りました。次に、反復アプローチと同じ方法を使用してファイル全体を読み取ります。次に、available() メソッドを使用して、ファイルの開始時と終了時に存在するバイト数を特定しました。その後、skip() メソッドを使用して、ファイルを読み取る前に数バイトをスキップしました。これにより、必要な特定のデータを取得できました。