HDFS的API操作读取某个目录下的所有文件怎么做?
读取某个目录下的所有文件:通过“FileStatus.getPath()”方法可以查看指定目录下的所有文件。
具体代码如下:``` package HDFS.learnself;
import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path;
public class CatFiles { public static void main(String[] args) throws IOException, InterruptedException, URISyntaxException {
//1.加载hdfs的配置文件 Configuration conf=new Configuration();
//2.获取hdfs的操作对象 FileSystem fs=FileSystem.get(new URI("hdfs://hdp01:9000"), conf, "hdp02");
//3.创建要读取的文件路径 Path listf=new Path("/tmp");
//4.创建FileStatus对象,调用listStatus方法 FileStatus stats[]=fs.listStatus(listf); for(int i=0;i<stats.length;i++){ System.out.println(stats[i].getPath().toString()); } fs.close(); System.out.println("该目录下的文件查找完毕!"); } }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。