0

私は2つの.txtファイルを持っています。まず、の内容をfile1.txt文字列配列に入れます。その後、別のクラスを使用して、別のファイルに対して同じことを行います: file2.txt. 次に、2 つの文字列配列の内容 (具体的には、文字列配列内の単語) を比較します。2 つのクラスを互いに組み合わせるにはどうすればよいですか?

4

3 に答える 3

1

SOさん、はじめまして。

DataInputStream と BufferedReader を混在させる意味はありません。より単純なパターンは、次のことを行うことです

これらの 2 つの txt ファイルの内容を比較できますか?

public static void main(String... args) throws IOException {
    List<String> strings1 = readFileAsList("D:\\Denemeler\\file1.txt");
    List<String> strings2 = readFileAsList("D:\\Denemeler\\file2.txt");
    compare(strings1, strings2);
}

private static void compare(List<String> strings1, List<String> strings2) {
    // TODO
}

private static List<String> readFileAsList(String name) throws IOException {
    List<String> ret = new ArrayList<String>();
    BufferedReader br = null;
    try {
        br = new BufferedReader(new FileReader(name));
        String strLine;
        while ((strLine = br.readLine()) != null)
            ret.add(strLine);
        return ret;
    } finally {
        if (br != null) br.close();
    }
}
于 2012-08-03T07:43:31.017 に答える
0

これらすべての操作を 1 つのプログラムで実行したいとします。main1 つのプログラムには、プログラムの開始時に実行されるアクティブなメソッドが 1 つだけあります。

  • file1.txt を文字列配列に読み込む
  • file2.txt を文字列配列に読み込む
  • 結果を比較する

メインメソッドは次のようになります。

public static void main(String[] args) {
   String[] s1 = read("file1.txt");
   String[] s2 = read("file2.txt");
   compare(s1, s2);
}

ここString[] read(File f)で、独自のロジックとメソッド内比較を使用してメソッドを実装しますcompare(String[] s1, String[] s2)

于 2012-08-03T07:48:45.070 に答える
0

Jes 'Peter Lawrey' は正しいです。

Java はオブジェクト指向プログラムであることを念頭に置いておく必要があります。一般的な方法を使用し、1 つのクラスを避けます。

内部クラスについて知りたい場合は、このJava 内部クラスをご覧ください。

于 2012-08-03T08:16:55.290 に答える