String 问题请教
这里有段老程序,大概如下:
for(.....)
{
String1 = ...
String2 = ...
...
String150 = ...
String s = String 1 + .... + String150;
BufferedWriter.write(s)// to a file
}
其中for的循环次数会比较多,又在for中定义了很多String类型的变量,之后又将它们连接起来,然后用FileWriter写到一个文件中.
问题:
我发现文件中的一段都变成了NUL(包括所有的字符,比如回车符号.用notepad++打开看,或用notepad打开,就是空格,回车还能正常换行)请问这可能会是什么问题? (当然也可能是其他问题,我不知道)
如果是String 处理的而我难题,那把String该成StringBuffer是否可以?
我现在不能重复这个错误.
------解决方案--------------------虽然不是String的问题,但你的编程风格还是很成问题,用StringBuffer的append()比用String相加要好得多。
楼主说的问题可能是换行符的问题,JAVA用UNIX风格的换行符,即用一个字符 '\n ',而不是用WINDOWS风格的 '\r\n ',所以用windows的notepad打开,会存在这个问题。
------解决方案--------------------String s = null;
String s1 = "test ";
System.out.println(s+s1);//nulltest
可能是有s = null;这种吧。
建议还是将String换成StringBuffer吧
------解决方案--------------------StringBuffer还是比直接用String好
------解决方案--------------------为什么不用 String str = " "; 而非要用String str = null;