/ / Використовуйте сканер, коли файл починається з порожнього рядка [дублікат] - java, java.util.scanner

Використовуйте сканер, коли файл починається з порожньої рядки [duplicate] - java, java.util.scanner

Можливі дублікати:
Перевірка даних за допомогою java.util.Scanner

Я читаю в купі файлів у каталозі. Я хочу використовувати сканер для перевірки більшості з них, але я продовжую отримувати NoSuchElementExceptions, і я впевнений, що деякі файли починаються з порожнього рядка.

Як мені обійти це сканером, щоб я міг прочитати решту файлів без проблем?

Відповіді:

0 для відповіді № 1

Якщо ви впевнені, що перший рядок порожній, ви можете просто скористатися:

String line = scanner.nextLine();

пропустити перший рядок. Якщо це відбувається лише в дещо файли, то ви можете перевірити вміст, використовуючи:

line.isEmpty()

0 для відповіді № 2

Ви впевнені, що це порожній рядок, який викликає у вас проблему?

Я щойно перевірив це на дійсно невеликій програмі Java, і я думаю, ви "не перевіряєте, чи є у неї наступний рядок.

Спробуйте щось на зразок методу hasNext ():

while (scan.hasNext()) {
//Your code
}

Це перевірить, чи є у файлі nextLine перед тим, як він спробує розібрати його.


0 для відповіді № 3

Навіть найпростіший спосіб читання файлу за допомогою Scanner повинен працювати, щось подібне буде добре працювати:

public void getFile(File file) {

Scanner sc = null;
try {
sc = new Scanner(file);
if(sc.hasNext())
System.out.println(sc.next());

} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
if(sc!=null) sc.close();
}

}

Це не матиме жодних проблем, навіть якщо перший рядок порожній