ホームページ >Java >&#&チュートリアル >Java で 2 つの異なるファイルを 1 行ずつ比較します
この記事では、システムに保存されている 2 つの異なるテキスト ファイルを比較します。各テキスト ファイルを 1 行ずつ調べ、比較することで類似点と相違点を特定できます。
Java プログラミング言語を使用して実装する方法を見てみましょう。
下の画像は、同じ内容を持つ 2 つの異なるテキスト ファイルを示しているため、出力は同じ内容を持つ 2 つのファイルになります。
以下は、file1.txt と file2.txt と仮定した 2 つのファイルとその内容を表しています。
ファイル1.txt
リーリーfile2.txt
リーリーここで、2 つのファイルの 2 行目の内容が異なることがわかります。ファイル 1 の 2 行目には「Java 言語」が含まれており、ファイル 2 の 2 行目には「Python 言語」が含まれているため、
###アルゴリズム###- Reader1 と Reader2 を 2 つの BufferedReader オブジェクトとして作成し、それらを使用して 2 つの入力テキスト ファイルを 1 行ずつ読み取ります。
- 2 つの変数を作成します。まず、「areEqual」というブール変数を作成し、true に初期化します。次に、「lineNum」という int 変数を作成し、1 に初期化します。 areEqual は、最初は true に設定され、入力ファイルの内容が異なる場合に false に変更されるフラグ変数です。行数はlineNumに保存されます。
- ファイル 1 の内容を 1 行目に読み込み、ファイル 2 の内容を 2 行目に読み込みます。
- 両方のファイルが読み取られるまで、ファイル file1 と file2 の行をそれぞれ line1 と line2 に読み込みます。 line1 または line2 が空の場合は、「areEqual」を false に設定します。
-areEqual が true の場合、2 つのファイルの内容が同じであると宣言します。 areEqual の値が false の場合、宣言されたファイルの内容は異なります。
- リソースを閉じます。
方法 1: BufferedReader クラスを使用する
###例###- ここでの入力シナリオは、上で説明した例 2 と似ています。
この方法では、ディスク ファイルのバイトをシステム メモリ アドレスにマップするカーネル オブジェクトであるメモリ マップ ファイルの概念を利用します。メモリ マップ ファイルの内容を操作することで、次のことがわかります。内容は同じですが、それでも異なります。 リーリー ###出力### リーリー
注以上がJava で 2 つの異なるファイルを 1 行ずつ比較しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。