0

我有两个.txt文件。首先,我将 的内容file1.txt放入字符串数组中。之后,我使用另一个类对另一个文件做同样的事情:file2.txt. 然后,我将两个字符串数组的内容相互比较(特别是字符串数组中的单词。)如何将我的两个类相互组合?

4

3 回答 3

1

欢迎来到 SO,

混合 DataInputStream 和 BufferedReader 没有意义。一个更简单的模式是执行以下操作

我可以比较两个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

Jes 'Peter Lawrey' 是对的。

Java 是一个面向对象的程序,我们必须牢记这一点。使用通用方法并避免使用一个类。

如果您想了解内部类,请查看这个Java Inner 类

于 2012-08-03T08:16:55.290 回答
0

您想在一个程序中执行所有这些操作。一个程序只有一个活动方法main,当您启动程序时将执行该方法。

  • 将 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 回答