L33*_*EAN 3 java bufferedreader
我无法查看下面的代码有什么问题.没有任何输出时输出空值.
输出: null This is one. This is two. This is three. This is four five six. seven? null
文件内容:
This is one.
This is two.
This is three.
This is four
five
six.
seven?
Run Code Online (Sandbox Code Playgroud)
任何有关这方面的帮助将不胜感激!
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
String cLine="";
while ((cLine = br.readLine()) != null) {
content+= cLine;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
Run Code Online (Sandbox Code Playgroud)
我怀疑content开头是空(而不是空),这解释了第一个null.它没有解释最后一个,不可否认......我的猜测是你实际修复了一个bug,因为你最后看到了输出null.如果不是这样,您的文件实际上已经null在最后.(我已将其content初始化为"" 进行测试,并且没问题.)
您是否意识到您正在删除所有换行符,而不是用任何类型的分隔符替换它们?因此,具有"x","y"和"z"行的文件将变为"xyz".
另外,考虑使用StringBuilder而不是字符串连接 - 它将更有效,因为它不需要一直复制字符串.
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |