【发布时间】:2017-02-27 03:00:53
【问题描述】:
我在下面有以下代码。如果我注释掉stringList.add(row);,我可以让它打印文档的行(5 行带空格的文本)。如果我不将其注释掉,我会打印一行并且为空。我已经在网上查找了所有可能的内容,但我不明白为什么会这样!
package examples.files;
import java.io.File;
import java.util.ArrayList;
import java.util.Scanner;
/**
* @author
*
*/
public class ReadFileUsingScanner {
static ArrayList<String> stringList = null;
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) {
Scanner scanner = null;
try {
scanner = new Scanner(new File("customers.txt"));
while (scanner.hasNext()) {
String row = scanner.nextLine();
System.out.println(row);
stringList.add(row);
}
} catch(Exception e) {
System.out.println(e.getMessage());
} finally {
if (scanner != null) {
try {
scanner.close();
} catch (Exception e) {}
}
}
}
}
您不必解决代码,但我想了解它为什么不起作用的基本原理。
【问题讨论】:
-
顺便说一句,您应该将堆栈跟踪添加到您的问题中。它不是“打印空值”,而是抛出异常
-
谢谢,我现在明白了。我会补充一点——这可能就是我没有发现这么简单的错误的原因。
标签: java file arraylist java.util.scanner