String message = null;
BufferedReader br = null;
String s;
br = new BufferedReader(new FileReader(f));
String currentLine;
while((currentLine=br.readLine()) != null)
{
System.out.println(currentLine);
message+=currentLine.toString().replaceAll("[^a-zA-Z0-9.'\\s+]+","")+" ";
System.out.println(message);
}
该文件包含数据 :测试数据
输出 :测试数据 nullTest数据
请帮我删除文件中第一个单词的空格。
答案 0 :(得分:1)
消息变量和字符串连接的空值为追加null。执行以下操作,
StringBuilder message = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader(f));
String currentLine = null;
while((currentLine=br.readLine())!=null)
{
System.out.println(currentLine);
message.append(currentLine.toString().replaceAll("[^a-zA-Z0-9.'\\s+]+",""));
system.out.println(message);
}
答案 1 :(得分:0)
首先将消息设为null。 String message = null;
替换为String message = "";
这将使其成为空字符串,null将消失
答案 2 :(得分:0)
从
更改初始值String message = null;
到
String message = "";
避免“null”。
或者更好的是,使用StringBuilder来连接字符串。
StringBuilder message = new StringBuilder();
BufferedReader br = new BufferedReader(new FileReader(f));
String currentLine;
while((currentLine=br.readLine())!=null)
{
System.out.println(currentLine);
message.append (currentLine.replaceAll("[^a-zA-Z0-9.'\\s+]+",""));
message.append (' ');
system.out.println(message);
}
答案 3 :(得分:0)
这种情况正在发生,因为您在message+=
字符串上调用了null
,因此您需要将currentLine
添加到null。
最简单的解决方法是在初始化时将massage
设置为""
:
String message = "";
//Rest of code...