HDFS的API操作-获取文件列表信息
生活随笔
收集整理的這篇文章主要介紹了
HDFS的API操作-获取文件列表信息
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
遍歷 HDFS 中所有文件
遞歸遍歷
@Test public void listFile() throws Exception{FileSystem fileSystem = FileSystem.get(new URI("hdfs://192.168.52.100:8020"), new Configuration());FileStatus[] fileStatuses = fileSystem.listStatus(new Path("/"));for (FileStatus fileStatus : fileStatuses) {if(fileStatus.isDirectory()){Path path = fileStatus.getPath();listAllFiles(fileSystem,path);}else{System.out.println("文件路徑為"+fileStatus.getPath().toString()); ?}} } public void listAllFiles(FileSystem fileSystem,Path path) throws Exception{FileStatus[] fileStatuses = fileSystem.listStatus(path);for (FileStatus fileStatus : fileStatuses) {if(fileStatus.isDirectory()){listAllFiles(fileSystem,fileStatus.getPath());}else{Path path1 = fileStatus.getPath();System.out.println("文件路徑為"+path1);}} }使用 API 遍歷
@Test public void listMyFiles()throws Exception{//獲取fileSystem類FileSystem fileSystem = FileSystem.get(new URI("hdfs://192.168.52.250:8020"), new Configuration());//獲取RemoteIterator 得到所有的文件或者文件夾,第一個參數指定遍歷的路徑,第二個參數表示是否 要遞歸遍歷RemoteIterator<LocatedFileStatus> locatedFileStatusRemoteIterator = fileSystem.listFiles(new Path("/"), true);while (locatedFileStatusRemoteIterator.hasNext()){LocatedFileStatus next = locatedFileStatusRemoteIterator.next();System.out.println(next.getPath().toString());}fileSystem.close(); }?
總結
以上是生活随笔為你收集整理的HDFS的API操作-获取文件列表信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDFS的API操作-获取FileSys
- 下一篇: HDFS的API操作-创建文件和文件夹