Я написал следующий код, и внутренний цикл for
работает нормально, но внешний цикл не повторяется. Вот мой код:
BufferedReader userfeatures = new BufferedReader(new FileReader("userFeatureVectorsTest.csv"));
BufferedReader itemfeatures = new BufferedReader(new FileReader("ItemFeatureVectorsTest.csv"));
while ((Uline = userfeatures.readLine()) != null)
{
for (String Iline = itemfeatures.readLine(); Iline != null; Iline = itemfeatures.readLine())
{
System.out.println(intersect(Uline, Iline).size());
System.out.println(union(Uline, Iline).size());
}
}
userfeatures.close();
itemfeatures.close();
}
Он находит пересечение и объединение first line of the first file
с every line of the 2nd file
, а затем останавливается. Однако мне нужно продолжить и повторить ту же процедуру для следующих строк первого файла. Итак, я думаю, что есть некоторые проблемы, связанные с моим внешним циклом while, но я не смог найти, в чем проблема: | Может ли кто-нибудь помочь мне, пожалуйста? Спасибо
itemfeatures
, аitemfeatures.readLine()
возвращает null, поскольку вы уже находитесь в конце файла. - person SomeJavaGuy   schedule 08.12.2015itemFeatures
во внешний цикл. Или вы можете прочитать содержимое второго файла один раз и кэшировать нужную информацию. - person khelwood   schedule 08.12.2015