Я использую Scanner
, чтобы прочитать файл с разным расширением, который обычно имеет текстовый файл, но с тем же содержимым, что и текстовый файл. Если я использую Scanner
на text.txt расширение, то я выхожу, но когда я выполняю ту же задачу на другом расширении, но с тем же содержимым, что я вообще не получаю никакого вывода.Java Scanner null out put
После выполнения другого теста, он видел, что проблема есть эти символы: “ ”
Любой ключ, почему же файл с другим расширением получили различные модели поведения?
файл:
“1 line”
2nd line
3 rd line
код:
public static void main(String[] args)
{
String path = "C:\\Users\\user\\Documents\\t1.RANDOM";
File file = new File(path);
StringBuilder sb = new StringBuilder();
try {
Scanner sc = new Scanner(file);
while(sc.hasNextLine())
{
sb.append(sc.nextLine()+"\n");
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
System.out.println(sb);
}
Попробуйте напечатать 'file.exists()', чтобы увидеть, существует ли файл. Вы можете пойти по неправильному пути. Кроме того, используйте @ "PATH ЗДЕСЬ БЕЗ ДВОЙНЫХ" –
@OrelEraki Вот почему существует 'FileNotFoudException'. Конструктор Scanner (File) выдает его, когда файл не существует + требуется double \\, обратная косая черта должна быть экранирована в строковом литерале. – A4L
@OrelEraki, это была моя первая мысль, но нормальный, если файл не исключает exsist, позаботится об этом. Эти файлы существуют в таком местоположении. Существует другая проблема, которую я не могу найти = S – user1768615