2015-05-25 4 views
0

Я пытаюсь читать из текстового файла с классом Scanner, но он не работает так, как я хочу. Простой код, как этоНе могу прочитать из моего .txt-файла

public static void main(String[] args) throws IOException {   

    File f = new File("D://Blandat/Test.txt");    
    Scanner sc = new Scanner(f); 

    System.out.println(sc.hasNext()); 

} 

Выход становится false, даже если у меня есть 3 строки текста.

Hello World!

лучшее еще впереди

Это третья строка с текстом, с пустой строкой между ними.

Таким образом, даже с

sc.hastNext() 

я должен по крайней мере, получить выход Привет, но я просто не Получать ничего. Я использовал другие классы, такие как FileInputStream, InputStreamReader, BufferedReader, и все работало просто отлично с тем же путем, текстом и всем остальным.

+0

Открыт ли файл? Файл f = новый файл («D: //Blandat/Test.txt»); Сканер sc = новый сканер (f); Строка line = sc.next(); // что это возвращает? – Paul

+0

@Paul Он возвращает только значение «false» – Bojje

ответ

0

Пошлите на упаковке в попытке поймать. Посмотрите, можете ли вы обнаружить какие-либо исключения. Откройте в блокноте Programmers, посмотрите, есть ли какие-то странные маркеры спецификации или что-то еще. Кроме того, дважды проверьте свой импорт, убедитесь, что вы не автозаполняете неправильный класс сканера. Должен быть java.util.Scanner; Я думаю.

try { 
    File f = new File("D://Blandat//Test.txt"); 
    Scanner sc = new Scanner(f); 
    while (sc.hasNextLine()) { 
     String line = sc.next(); 
     System.out.println(line); 
    } 
    sc.close(); 
} 
catch (Exception e) { 
    e.printStackTrace(); 
} 
+0

О, извините, я забыл упомянуть, что мой класс выбрасывает те исключения, которые исходят из класса сканера. – Bojje

0

Я понятия не имею, почему, но после того, как я вручную изменил текст в файле, и я составил свой код, с работал как шарм. Я даже вернулся и использовал тот же текст, который был у меня, когда получил после себя «ошибку», и даже это сработало. Я так сделал.

Смежные вопросы