Java 需要使用scanner类读取两个文件并输出差异的方法
这就是我目前所拥有的。我不知道接下来该怎么办。我需要一个方法来输出两个文件中的差异Java 需要使用scanner类读取两个文件并输出差异的方法,java,file,class,compare,Java,File,Class,Compare,这就是我目前所拥有的。我不知道接下来该怎么办。我需要一个方法来输出两个文件中的差异 package JwolfrumCh6; import java.util.*; import java.io.*; import java.util.Scanner; public class JwolfrumCh6 { public static void main(String[] args) throws FileNotFoundExceptio
package JwolfrumCh6;
import java.util.*;
import java.io.*;
import java.util.Scanner;
public class JwolfrumCh6 {
public static void main(String[] args) throws FileNotFoundException
{
Scanner console = new Scanner(System.in);
System.out.print("Enter File one Name");
String file1 = console.nextLine();
Scanner input1 = new Scanner(new File(file1));
System.out.print("Enter File two Name");
String file2 = console.nextLine();
Scanner input2 = new Scanner(new File(file2));
}
public static void compareFiles(Scanner input1, Scanner input2) {
while(input1.hasNextLine() || input2.hasNextLine()) {
}
}
}
在main中调用static方法,并在compareFiles方法中实现下面的逻辑
import java.io.File;
import java.io.FileNotFoundException;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class FML {
public static void main(String[] args) throws FileNotFoundException {
Scanner console = new Scanner(System.in);
System.out.print("Enter File one Name");
String file1 = console.nextLine();
Scanner input1 = new Scanner(new File(file1));
System.out.print("Enter File two Name");
String file2 = console.nextLine();
Scanner input2 = new Scanner(new File(file2));
compareFiles(input1, input2);
}
public static void compareFiles(Scanner input1, Scanner input2) {
List<String> list1 = new ArrayList<String>();
List<String> list2 = new ArrayList<String>();
while (input1.hasNextLine()) {
list1.add(input1.nextLine());
}
while (input2.hasNext()) {
list2.add(input2.nextLine());
}
List<String> tmpList = new ArrayList<String>(list1);
tmpList.removeAll(list2);
System.out.println("content from file1 which is different from file2");
for(int i=0;i<tmpList.size();i++){
System.out.println(tmpList.get(i));
}
System.out.println("content from file2 which is different from file2");
tmpList = list2;
tmpList.removeAll(list1);
for(int i=0;i<tmpList.size();i++){
System.out.println(tmpList.get(i));
}
}
}
导入java.io.File;
导入java.io.FileNotFoundException;
导入java.util.ArrayList;
导入java.util.List;
导入java.util.Scanner;
公共类FML{
公共静态void main(字符串[]args)引发FileNotFoundException{
扫描仪控制台=新扫描仪(System.in);
System.out.print(“输入文件名”);
字符串file1=console.nextLine();
扫描仪输入1=新扫描仪(新文件(文件1));
System.out.print(“输入两个文件名”);
String file2=console.nextLine();
扫描仪输入2=新扫描仪(新文件(文件2));
比较文件(输入1、输入2);
}
公共静态无效比较文件(扫描仪输入1、扫描仪输入2){
List list1=新的ArrayList();
List list2=新的ArrayList();
while(input1.hasNextLine()){
list1.add(input1.nextLine());
}
while(input2.hasNext()){
list2.add(input2.nextLine());
}
List tmpList=新的ArrayList(list1);
tmpList.removeAll(列表2);
System.out.println(“文件1中的内容不同于文件2”);
对于(int i=0;iHi,你说使用Scanner类输出是什么意思?Scanner用于读取输入。如果你想比较两个文件,你可以检查一下:感谢在我的Java类中,我们没有使用数组。这是下一章。你的帖子对我帮助很大