Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/344.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 比较两个导入的文本文件_Java_Arrays_Arraylist_Import - Fatal编程技术网

Java 比较两个导入的文本文件

Java 比较两个导入的文本文件,java,arrays,arraylist,import,Java,Arrays,Arraylist,Import,嘿,伙计们,我只是想看看我的想法是否可行,我正在学习java的第二学期。 以下是硬件分配的说明: 设计一个类,用于检查两个文本文件的内容是否相同,如果不相同,则确定有多少行不同。如果行在一个或多个字符中不同,则行是不同的。 所以,我想我应该逐行阅读文本,把每一行转换成一个字符串,然后把每一行存储在一个数组中的一个点上。一旦我这样做了,我将不得不使用数组。然后,我计划遍历每个数组并比较它们。 我对这个问题的想法正确吗 import java.io.*; import java.util.*; p

嘿,伙计们,我只是想看看我的想法是否可行,我正在学习java的第二学期。 以下是硬件分配的说明: 设计一个类,用于检查两个文本文件的内容是否相同,如果不相同,则确定有多少行不同。如果行在一个或多个字符中不同,则行是不同的。 所以,我想我应该逐行阅读文本,把每一行转换成一个字符串,然后把每一行存储在一个数组中的一个点上。一旦我这样做了,我将不得不使用数组。然后,我计划遍历每个数组并比较它们。 我对这个问题的想法正确吗

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)