Я в замешательстве. Я пытаюсь зациклить 2 файла, просматривая первый токен в каждой строке первого файла и сравнивая его с третьим токеном каждой строки второго файла. Вот логическая структура в виде вложенного цикла 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);
}
}
}
Однако все, что я вижу в выходных данных, это первый токен из первой строки первого файла и третий токен из каждой строки второго файла, повторенный 6000 (длина файла 2) раза, независимо от того, были ли они " равно "или нет. Связано ли это с их разными кодировками? Я вижу, что это влияет на тест на равенство, но почему цикл не работает должным образом?
Cheers,
Brandon