我正在尝试检查文件内容是否为空。我有一个内容为空的源文件。我试过不同的选择,但都不管用。
这是我的密码:
Path in = new Path(source);
/*
* Check if source is empty
*/
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(fs.open(in)));
} catch (IOException e) {
e.printStackTrace();
}
try {
if (br.readLine().length() == 0) {
/*
* Empty file
*/
System.out.println("In empty");
System.exit(0);
}
else{
System.out.println("not empty");
}
} catch (IOException e) {
e.printStackTrace();
}
我试过用-
1. br.readLine().length() == 0
2. br.readLine() == null
3. br.readLine().isEmpty()
以上所说的一切都不是空穴来风,我需要用-
BufferedReader br = null;
try {
br = new BufferedReader(new InputStreamReader(fs.open(in)));
} catch (IOException e) {
e.printStackTrace();
}
而不是new file()等。
如果我哪里出错了,请给我一些建议。
编辑
再弄清楚一点。如果我有一个只有空格或没有空格的文件,我希望我的结果是空的。
3条答案
按热度按时间z31licg01#
你可以打电话
File.length()
(它返回由这个抽象路径名表示的文件的长度)并检查它是否正确0
. 像这样的忽略空白(同样是空的)
你可以用
Files.readAllLines(Path)
像这样的muk1a3rh2#
您可以尝试以下方法:
用于处理isemptyfile检查的实用程序类
类来测试实用程序
2hh7jdfx3#
当然你需要关闭
is
接住IOException