我试图将文本文件中的所有数据放入一个具有我所知的单个String变量中,并且运行正常,但输出显示如下:
nullRead File Test
我曾经使用replaceAll方法来尝试删除null,但它不起作用。为什么这个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();
}
答案 0 :(得分:1)
由于Object
fileData
默认为null
所以其初始String
值会根据JLS 15.18.1转换为字符串文字"null"
附加到另一个String。因此需要初始化:
private String fileData = "";
考虑在这里使用StringBuilder