順番ではありませんが、サブストリング0と10の間に同じ値が含まれているはずの2つのファイルがあります。私は各ファイルの値をアウトプリントすることに成功しましたが、値が最初のファイルにあり、2番目のファイルにない、またはその逆であると報告する方法を知る必要があります。ファイルはこれらの形式です。
6436346346....Other details
9348734873....Other details
9349839829....Other details
2番目のファイル
8484545487....Other details
9348734873....Other details
9349839829....Other details
最初のファイルの最初のレコードは2番目のファイルに表示されず、2番目のファイルの最初のレコードは最初のファイルに表示されません。この不一致を次の形式で報告できるようにする必要があります。
Record 6436346346 is in the firstfile and not in the secondfile.
Record 8484545487 is in the secondfile and not in the firstfile.
これが私が現在持っているコードで、比較するために2つのファイルから必要な出力を提供します。
package compare.numbers;
import java.io.*;
/**
*
* @author implvcb
*/
public class CompareNumbers {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
File f = new File("C:/Analysis/");
String line;
String line1;
try {
String firstfile = "C:/Analysis/RL001.TXT";
FileInputStream fs = new FileInputStream(firstfile);
BufferedReader br = new BufferedReader(new InputStreamReader(fs));
while ((line = br.readLine()) != null) {
String account = line.substring(0, 10);
System.out.println(account);
}
String secondfile = "C:/Analysis/RL003.TXT";
FileInputStream fs1 = new FileInputStream(secondfile);
BufferedReader br1 = new BufferedReader(new InputStreamReader(fs1));
while ((line1 = br1.readLine()) != null) {
String account1 = line1.substring(0, 10);
System.out.println(account1);
}
} catch (Exception e) {
e.fillInStackTrace();
}
}
}
私がこれを効果的に達成する方法を手伝ってください。私はそれがJavaに不慣れであり、簡単にアイデアをつかむことができないかもしれないと言う必要があったと思いますが、試みています。