HIHO家伙, 我写一个简单的应用程序,它应该打开两个txt文件,采取的第一个文件的第一行,然后通过第二个文件中的每一行进行迭代。如果它在第二个文件中找到相同的字符串,则应该使用nextline将此字符串写入outputfile.txt。在完成对第二个文件的循环后,它应该从第一行开始第二行并搜索相同的字符串,如果发现则用nextline写入。 我已经试过了,但它什么也没做,我的意思是它没有把任何文本放到outputfile.txt中,即使我确信有相同的单词。文件的Comparer不结果写入文件
package com.company;
import java.io.*;
import java.nio.file.Path;
import java.nio.file.Paths;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
String sourceFileName = "C:\\Users\\Maciej\\IdeaProjects\\spring5webapp\\FileTextChecker\\src\\com\\company\\BootfileRO.txt";
String comparingFileName = "C:\\Users\\Maciej\\IdeaProjects\\spring5webapp\\FileTextChecker\\src\\com\\company\\BootfileSK.txt";
String outputFileName = "C:\\Users\\Maciej\\IdeaProjects\\spring5webapp\\FileTextChecker\\src\\com\\company\\output.txt";
System.out.println("Starting ... ");
File file1 = new File(sourceFileName);
File file2 = new File(comparingFileName);
PrintWriter file3 = new PrintWriter(outputFileName);
String line1 = "";
String line2 = "";
Scanner scan1 = new Scanner(file1);
Scanner scan2 = new Scanner(file2);
while(scan1.hasNextLine()){
line1 = scan1.nextLine();
while(scan2.hasNextLine()){
line2 = scan2.nextLine();
if(line1.equals(line2)){
file3.println(line1);
}
else{
continue;
}
}
}
file3.close();
// Comparer comparer = new Comparer(sourceFileName, comparingFileName, oFN);
// comparer.compare();
// CompareByScanner compareBYScanner = new CompareByScanner(sourceFileName, comparingFileName, outputFileName);
// compareBYScanner.compare();
}
}
说实话,它看起来像“等号”函数找不到相同的字符串,但我相信他们存在。
提示:A)以已知*小*文件开始B)添加跟踪打印以显示*代码正在做什么。和无关的:你只关闭3个文件对象中的1个。 – GhostCat
所以,我已经添加了两个测试文件: 答: AAA BBB CCC B: BBB ZXC QFD 它打印BBB输出,但我不知道为什么它停止。 –