如何使用hadoopapi来确定文件是否为空?

ffscu2ro  于 2021-05-29  发布在  Hadoop
关注(0)|答案(1)|浏览(458)

注意判断文件是否为空,即只有文件存在,文件中没有内容,文件夹不为空。
我该怎么做?这样可以吗?

FileSystem fs = FileSystem.get(new URI(URI), super.getConf(), "hadoop");
FSDataOutputStream append = fs.append(new Path("path"));
System.out.println(append.size() == 0);
z9ju0rcb

z9ju0rcb1#

作为方法的附件,您可以按以下方式执行:

FileSystem fs = FileSystem.get(new URI(URI), super.getConf(), "hadoop");

检查dir是否为空。见api文件

RemoteIterator<LocatedFileStatus> files = fs.listFiles(<path-to-dir>, true)
// from iterator, determine if dir is empty

FileStatus[] files = fs.listStatus(<path-to-dir>)
// use array length to determine if dir is empty
// This also throws FileNotFoundException if file/dir does not exist, you can use it to determine if dir/file does not exist

检查文件是否为空。参见api文档this和this

long length = fs.getFileStatus(<file-path>).getLen()
// based on length determine if file is empty

相关问题