使用toString()转换为字符串时,在文件的开头附加NULL

时间:2016-11-16 10:44:48

标签: java file tostring

 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数据

请帮我删除文件中第一个单词的空格。

4 个答案:

答案 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...