Java 比较两个导入的文本文件
嘿,伙计们,我只是想看看我的想法是否可行,我正在学习java的第二学期。 以下是硬件分配的说明: 设计一个类,用于检查两个文本文件的内容是否相同,如果不相同,则确定有多少行不同。如果行在一个或多个字符中不同,则行是不同的。 所以,我想我应该逐行阅读文本,把每一行转换成一个字符串,然后把每一行存储在一个数组中的一个点上。一旦我这样做了,我将不得不使用数组。然后,我计划遍历每个数组并比较它们。 我对这个问题的想法正确吗Java 比较两个导入的文本文件,java,arrays,arraylist,import,Java,Arrays,Arraylist,Import,嘿,伙计们,我只是想看看我的想法是否可行,我正在学习java的第二学期。 以下是硬件分配的说明: 设计一个类,用于检查两个文本文件的内容是否相同,如果不相同,则确定有多少行不同。如果行在一个或多个字符中不同,则行是不同的。 所以,我想我应该逐行阅读文本,把每一行转换成一个字符串,然后把每一行存储在一个数组中的一个点上。一旦我这样做了,我将不得不使用数组。然后,我计划遍历每个数组并比较它们。 我对这个问题的想法正确吗 import java.io.*; import java.util.*; p
import java.io.*;
import java.util.*;
public class myfilereader
{
public static void main (String[] args) throws java.io.IOException
{
ArrayList<String> Diff = new ArrayList<String>();
Scanner s = new Scanner(new File("/Users/Home/Desktop/File2.txt"));
ArrayList<String> ArrayList1 = new ArrayList<String>();
while (s.hasNext())
{
ArrayList1.add(s.next());
}
s.close();
Scanner s1 = new Scanner(new File("/Users/Home/Desktop/File1.txt"));
ArrayList<String> ArrayList2 = new ArrayList<String>();
while (s.hasNext())
{
ArrayList2.add(s1.next());
}
s1.close();
HashSet hs = new HashSet();
for(String i : ArrayList1) hs.add(i);
for(String i : ArrayList2)
{
if(!hs.add(i))
Diff.add(i);
}
String result = "+";
for (int i = 0; i < Diff.size(); i++)
{
result += " " + Diff.get(i);
}
System.out.println(result);
}
}
我会用它:
然后将两个文件加载到ArrayList中,并使用其中一个Collections方法Sounds。。。声音。试试看。发布一些示例。无法使用任何附加组件:0我明天将尝试发布一些尝试的示例!或者今天晚些时候,我想XD只是将文件加载到arrayList中,在一个数组中先加载两个嵌套循环,在另一个数组中加载一个,然后将array1的第一个元素与array2的所有元素进行比较,只要将array1的所有元素都与array2的元素进行了检查。Sokay,这是我到目前为止得到的结果,但我得到了一些错误。在这段代码的最后,我只是想打印出两个ArrayList之间的差异。我将更新问题中的内容。
Exception in thread "main" java.lang.IllegalStateException: Scanner closed
at java.util.Scanner.ensureOpen(Scanner.java:1046)
at java.util.Scanner.hasNext(Scanner.java:1310)
at myfilereader.main(myfilereader.java:19)