繁体   English   中英

Java扫描器无法识别文件中的行

[英]Java Scanner not recognizing lines in file

因此,我正在使用以下内容读取文本文件:

import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;

String f = "file.txt";
Scanner in = new Scanner(new File(f));
while(in.hasNextLine()){
    //code here to make a matrix from the data in the text file
}

现在,此文本文件应创建一个具有48927行(文本文件中的行数)的矩阵。 在第196行,while循环中断。

它曾经是第198行,然后我去除了空白(不是换行符),然后移至196

我看着这两行,它们之间没有什么不同!

扫描仪为什么不将其读取为行?

行数

只是为了给您一些文件内的内容,下面是这些行的样子(195-200):

CRUMBS BAKE SHOP<split>420<split>LEXINGTON AVENUE<split>10017<split>2122970500<split>2010-12-30 00:00:00<split>10.0<split>N<split>MANHATTAN<split>BAKERY

FAITHY'S KITCHEN<split>3907<split>DYRE AVENUE<split>10466<split>7186550780<split>2010-12-03 00:00:00<split>22.0<split>N<split>THE BRONX<split>CARIBBEAN

SIRUYEON<split>150-36<split>NORTHERN BOULEVARD<split>11354<split>7184616677<split>2013-05-07 00:00:00<split>60.0<split>N<split>QUEENS<split>CAFE, COFFEE, TEA

MILON BANGLASESH & INDIAN RESTAURANT<split>93<split>1 AVENUE<split>10003<split>2122284896<split>2013-02-20 00:00:00<split>19.0<split>B<split>BROOKLYN<split>BANGLADESHI

HOLEY CREAM<split>796<split>9 AVENUE<split>10019<split>2122478400<split>2011-07-18 00:00:00<split>16.0<split>B<split>MANHATTAN<split>ICE CREAM, GELATO, YOGURT, ICES

CHOP'T<split>1460<split>BROADWAY<split>10036<split>6465710601<split>2011-10-25 00:00:00<split>nan<split>A<split>MANHATTAN<split>SALADS

注意:最后一行的逗号是整个文本文件中的常用功能

错误

如果我让while循环运行直到出现错误,则在196行(它无法识别的行)出现此错误:

Exception in thread "main" java.util.NoSuchElementException: No line found
    at java.util.Scanner.nextLine(Scanner.java:1516)

您真的必须使用Scanner吗? 尝试将BufferedReaderFileReader一起使用。

检查这个

https://forums.oracle.com/message/4631933

[编辑]

检查这个类似的问题使用Scanner的nextLine()和hasNextLine()方法的问题

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM