hadoop 遍历hdfs文件夹列出其中所有的txt文件
2016-07-18 13:05
369 查看
import java.net.URI; import java.util.ArrayList; 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 FindTxts { public static void main(String[] args) throws Exception { ArrayList<String> pathList = findTxts("/home/data"); for (int i = 0; i < pathList.size(); i++) { System.out.println(pathList.get(i)); } } private static ArrayList<String> findTxts(String parentDir) throws Exception{ ArrayList<String> pathList=new ArrayList<String>(); Configuration conf=new Configuration(); FileSystem fs=FileSystem.get(URI.create(parentDir),conf); Path path=new Path(parentDir); FileStatus status[]=fs.listStatus(path); String PathString=new String(); for(int i = 0;i<status.length;i++){ PathString=status[i].getPath().toString(); if(status[i].isFile()&&PathString.endsWith(".txt")) pathList.add(PathString); //判断PathString是否为parentDir/*.txt的形式 else{ if(status[i].isDirectory()) findTxts(PathString,pathList); //如果status[i]代表的是一个目录,执行findTxts(String parentDir,ArrayList<String> pathList)方法 } } return pathList; } private static void findTxts(String parentDir, ArrayList<String> pathList) throws Exception { Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(parentDir), conf); Path path = new Path(parentDir); FileStatus status[] = fs.listStatus(path); String PathString = new String(); for(int i = 0;i<status.length;i++){ PathString=status[i].getPath().toString(); if(status[i].isFile()&&PathString.endsWith(".txt")) pathList.add(PathString); //判断PathString是否为parentDir/*.txt的形式 else{ if(status[i].isDirectory()) findTxts(PathString,pathList); //如果status[i]代表的是一个目录,执行findTxts(String parentDir,ArrayList<String> pathList)方法 } } return; } }
相关文章推荐
- 详解HDFS Short Circuit Local Reads
- Hadoop_2.1.0 MapReduce序列图
- 使用Hadoop搭建现代电信企业架构
- 单机版搭建Hadoop环境图文教程详解
- hadoop常见错误以及处理方法详解
- hadoop 单机安装配置教程
- hadoop的hdfs文件操作实现上传文件到hdfs
- hadoop实现grep示例分享
- Apache Hadoop版本详解
- linux下搭建hadoop环境步骤分享
- java连接hdfs ha和调用mapreduce jar示例
- java实现将ftp和http的文件直接传送到hdfs
- hadoop client与datanode的通信协议分析
- hadoop中一些常用的命令介绍
- Hadoop单机版和全分布式(集群)安装
- 用PHP和Shell写Hadoop的MapReduce程序
- hadoop map-reduce中的文件并发操作
- Hadoop1.2中配置伪分布式的实例
- hadoop上传文件功能实例代码