Java 如何只读文件的第一个表达式并移到另一行
我有一个如下所示的文件: 我需要的是只读第一列的名称并输出它Java 如何只读文件的第一个表达式并移到另一行,java,Java,我有一个如下所示的文件: 我需要的是只读第一列的名称并输出它 while (sc.hasNext()) System.out.println(sc.next()); 我尝试的另一个解决方案是: while (sc.hasNextLine()) System.out.println(sc.nextLine()); 上面的那些显然不起作用。我被卡住了,不知道该怎么办。我试图用谷歌搜索我的问题,但找不到答案 while(sc.hasNextLine()) {
while (sc.hasNext())
System.out.println(sc.next());
我尝试的另一个解决方案是:
while (sc.hasNextLine())
System.out.println(sc.nextLine());
上面的那些显然不起作用。我被卡住了,不知道该怎么办。我试图用谷歌搜索我的问题,但找不到答案
while(sc.hasNextLine()) {
StringBuilder toPrint = new StringBuilder();
String line = sc.nextLine();
for(int i = 0; i < line.length() && line.charAt(i) != ' '; i ++) {
toPrint.append(line.charAt(i));
}
System.out.println(toPrint.toString());
}
我之所以不使用String.split,是因为它会分割整个字符串,而您只需要第一个单词,因此会做很多不必要的工作 将该行读入一个变量,然后在空格str.split\\s+上拆分,并打印您感兴趣的列:您可以使用substring并避免循环?但是您不知道单词有多大。indexOf可以获得第一个空格。这会起作用,但我认为速度会变慢,因为它会在数组中搜索空格,然后子字符串本身很慢,因为它是通过连接工作的,这是一个缓慢的过程。