ホームページ >Java >&#&チュートリアル >Java で 2 つの異なるファイルを 1 行ずつ比較します

Java で 2 つの異なるファイルを 1 行ずつ比較します

WBOY
WBOY転載
2023-08-23 15:37:081744ブラウズ

この記事では、システムに保存されている 2 つの異なるテキスト ファイルを比較します。各テキスト ファイルを 1 行ずつ調べ、比較することで類似点と相違点を特定できます。

Java プログラミング言語を使用して実装する方法を見てみましょう。

いくつかの例を示します

例 1

下の画像は、同じ内容を持つ 2 つの異なるテキスト ファイルを示しているため、出力は同じ内容を持つ 2 つのファイルになります。

Java で 2 つの異なるファイルを 1 行ずつ比較します

例 2

以下は、file1.txt と file2.txt と仮定した 2 つのファイルとその内容を表しています。

ファイル1.txt

リーリー

file2.txt

リーリー

ここで、2 つのファイルの 2 行目の内容が異なることがわかります。ファイル 1 の 2 行目には「Java 言語」が含まれており、ファイル 2 の 2 行目には「Python 言語」が含まれているため、

###アルゴリズム###

  • ステップ 1

    - Reader1 と Reader2 を 2 つの BufferedReader オブジェクトとして作成し、それらを使用して 2 つの入力テキスト ファイルを 1 行ずつ読み取ります。

  • ステップ 2

    - 2 つの変数を作成します。まず、「areEqual」というブール変数を作成し、true に初期化します。次に、「lineNum」という int 変数を作成し、1 に初期化します。 areEqual は、最初は true に設定され、入力ファイルの内容が異なる場合に false に変更されるフラグ変数です。行数はlineNumに保存されます。

  • ステップ 3

    - ファイル 1 の内容を 1 行目に読み込み、ファイル 2 の内容を 2 行目に読み込みます。

  • ステップ 4

    - 両方のファイルが読み取られるまで、ファイル file1 と file2 の行をそれぞれ line1 と line2 に読み込みます。 line1 または line2 が空の場合は、「areEqual」を false に設定します。

  • ステップ 5

    -areEqual が true の場合、2 つのファイルの内容が同じであると宣言します。 areEqual の値が false の場合、宣言されたファイルの内容は異なります。

  • ステップ 6

    - リソースを閉じます。

  • 複数の方法

私たちはさまざまな方法でソリューションを提供します。

    BufferedReader クラスを使用する
  • メモリ マップド ファイルを使用する場合
  • プログラムとその出力を 1 つずつ表示します。

方法 1: BufferedReader クラスを使用する

###例###

このメソッドでは、BufferedReader クラスのオブジェクトを作成し、組み込みの readLine() メソッドを使用して 2 つのファイルの内容を読み取り、比較します。

リーリー ###出力### リーリー

- ここでの入力シナリオは、上で説明した例 2 と似ています。

方法 2: メモリ マップド ファイルを使用する

###例###

この方法では、ディスク ファイルのバイトをシステム メモリ アドレスにマップするカーネル オブジェクトであるメモリ マップ ファイルの概念を利用します。メモリ マップ ファイルの内容を操作することで、次のことがわかります。内容は同じですが、それでも異なります。 リーリー ###出力### リーリー

- ここでは、同じ内容を持つ 2 つのファイルを考えています。

この記事では、Java で 2 つの異なるテキスト ファイルの内容を 1 行ずつ比較する方法について説明しました。

以上がJava で 2 つの異なるファイルを 1 行ずつ比較しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はtutorialspoint.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。