我在调试代码时遇到了一些问题,我设法调试了除一个之外的所有错误:
Method ignores results of InputStream.read()
,调试器(SpotBugs)说问题出在了,reader.read(buffer, 0, n)
并建议我检查返回值,否则调用者将无法正确处理读取的字节数少于调用者请求的字节数。
char[] buffer = new char[n];
try{
reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), "UTF-8"));
reader.read(buffer,0,n);
reader.close();
}
catch(RuntimeException e) {
throw e;
}
catch(Exception e) {
System.out.println("Something went wrong");
}
for(int i=0;i<buffer.length;i++) {
int swap = i % 2;
if (Integer.toString(swap).equals(Integer.toString(1))) {
buffer[i] = ' ';
}
}
System.out.print(buffer);
我该如何修复这个错误?