java – 如何获取目录中文件的绝对路径?
发布时间:2020-12-15 04:12:27 所属栏目:Java 来源:网络整理
导读:我有一个包含文件,目录,子目录等的目录.如何使用Apache Hadoop API获取所有文件和目录的绝对路径列表? 解决方法 使用HDFS API: package org.myorg.hdfsdemo;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;i
我有一个包含文件,目录,子目录等的目录.如何使用Apache Hadoop API获取所有文件和目录的绝对路径列表?
解决方法
使用HDFS API:
package org.myorg.hdfsdemo; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; 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 HdfsDemo { public static void main(String[] args) throws IOException { Configuration conf = new Configuration(); conf.addResource(new Path("/Users/miqbal1/hadoop-eco/hadoop-1.1.2/conf/core-site.xml")); conf.addResource(new Path("/Users/miqbal1/hadoop-eco/hadoop-1.1.2/conf/hdfs-site.xml")); FileSystem fs = FileSystem.get(conf); System.out.println("Enter the directory name :"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Path path = new Path(br.readLine()); displayDirectoryContents(fs,path); } private static void displayDirectoryContents(FileSystem fs,Path rootDir) { // TODO Auto-generated method stub try { FileStatus[] status = fs.listStatus(rootDir); for (FileStatus file : status) { if (file.isDir()) { System.out.println("This is a directory:" + file.getPath()); displayDirectoryContents(fs,file.getPath()); } else { System.out.println("This is a file:" + file.getPath()); } } } catch (IOException e) { e.printStackTrace(); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |