我正在尝试将文本文件中的所有数据放入一个字符串变量中,据我所知,它运行良好,但输出显示以下内容:
nullRead File Test
我曾经使用replaceAll方法来尝试删除null,但它不起作用。为什么显示这个空值以及如何消除它?
相关源代码:
private static final long serialVersionUID = 1L;
private Scanner readWatched;
String fileData;
public void handleFile() {
try {
readWatched = new Scanner(new File("E:\\Watched.txt"));
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
public void readFile() {
try {
while (readWatched.hasNext()) {
fileData += readWatched.next() + " ";
}
fileData.replaceAll("null", " ");
} catch (Exception e) {
e.printStackTrace();
}
System.out.println(fileData);
}
public void closeFile() {
readWatched.close();
}
最佳答案
作为一个对象
fileData
默认为null
,因此它的初始String
值被转换为字符串文字“null”
按照JLS 15.18.1当附加到另一个字符串时。因此需要初始化:
private String fileData = "";
考虑在此处使用StringBuilder
关于java - 使用 Scanner 时添加 null 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27083110/