よくわかりません。2つのファイルをループして、最初のファイルのすべての行の最初のトークンを調べ、それを2番目のファイルのすべての行の3番目のトークンと比較しようとしています。ネストされたwhileループの形式の論理構造は次のとおりです。
BufferedReader reader1 = new BufferedReader(new InputStreamReader(new FileInputStream(fromFile1)));
BufferedReader reader2 = new BufferedReader(new InputStreamReader(new FileInputStream(fromFile2),"EUC-JP"));
String line1, line2 = null;
String temp1, temp2 = null;
while ((line1=reader1.readLine()) != null)
{
StringTokenizer st1 = new StringTokenizer(line1);
temp1 = "U"+st1.nextToken();
while((line2=reader2.readLine()) != null)
{
StringTokenizer st2 = new StringTokenizer(line2);
temp2 = st2.nextToken();
temp2 = st2.nextToken();
temp2 = st2.nextToken();
if(temp2.equals(temp1));
{
System.out.println(temp1+" "+temp2);
}
}
}
ただし、出力に表示されるのは、最初のファイルの最初の行の最初のトークンと、「等しい」かどうかに関係なく、6,000回(ファイルの長さ2)繰り返された2番目のファイルのすべての行の3番目のトークンだけです。いいえ。これは、異なるエンコーディングと関係がありますか?イコールテストに影響があることはわかりますが、ループが正しく動作しないのはなぜですか?
乾杯、ブランドン