Java 使用扫描仪时添加的空值
据我所知,我试图将文本文件中的所有数据放入单个字符串变量中,并且运行良好,但输出显示如下:Java 使用扫描仪时添加的空值,java,java.util.scanner,Java,Java.util.scanner,据我所知,我试图将文本文件中的所有数据放入单个字符串变量中,并且运行良好,但输出显示如下: nullRead File Test 我曾经尝试替换所有方法来删除null,但它不起作用。为什么会显示空值?我如何才能消除它 相关源代码: private static final long serialVersionUID = 1L; private Scanner readWatched; String fileData; public void handleFile()
nullRead File Test
我曾经尝试替换所有方法来删除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();
}
作为
对象
文件数据
默认为null
,因此其初始字符串
值在附加到另一个字符串时被转换为字符串文字“null”
。因此,需要对其进行初始化:
private String fileData = "";
考虑在此处使用
StringBuilder
谢谢,但是为什么replaceAll方法不将其替换为空格?您正在尝试替换fileData
中的String
文本“null”,这与null
不同-缺少赋值。即使使用了null
,它也不能作为NPE
工作,这将导致。。。