HDFS之globStatus()函式(用萬用字元匹配製定模式的路徑)liststatus() (列出目錄下的所有檔案)
Globstatus.java
import java.io.IOException; import java.net.URI; 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 Globstatus { //萬用字元 public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String uri = "hdfs://back03:9000/user/root/in/weibo*.txt"; Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(uri),conf); FileStatus[] status = fs.globStatus(new Path(uri)); System.out.print("heh"); for(FileStatus p:status){ if (fs.exists(p.getPath())) { System.out.println(p.getPath()); } } } }
執行結果為:
hehhdfs://back03:9000/user/root/in/weibo4.txt
萬用字元列表:
Liststatus.java* 匹配0到多個字元 ? 匹配單一字元 [ab] 匹配{a,b}集合中的一個字元 [^ab] 匹配非{a,b}集合裡的一個字元 [a-b] 匹配在{a,b}範圍內的一個字元 [^a-b] 同理可知 {a,b} 匹配包含a或b中的一個字元 \c 匹配元字元c
輸入:import java.io.IOException; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileStatus; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.FileUtil; import org.apache.hadoop.fs.Path; public class Liststatus { public static void main(String[] args) throws IOException { // TODO Auto-generated method stub String uri = args[0]; Configuration conf = new Configuration(); FileSystem fs = FileSystem.get(URI.create(uri), conf); Path[] paths = new Path[args.length]; for(int i = 0; i < paths.length; i++){ paths[i] = new Path(args[i]); } FileStatus[] status = fs.listStatus(paths); Path[] listedPaths = FileUtil.stat2Paths(status); for(Path p : listedPaths){ System.out.println(p); } } }
hdfs://back03:9000/user/root/in/ hdfs://back03:9000/user/root/
執行結果:
hdfs://back03:9000/user/root/in/amazon-meta.txt
hdfs://back03:9000/user/root/in/mywritable.txt
hdfs://back03:9000/user/root/in/test.txt
hdfs://back03:9000/user/root/in/weibo4.txt
hdfs://back03:9000/user/root/in
hdfs://back03:9000/user/root/out
相關推薦
HDFS之globStatus()函式(用萬用字元匹配製定模式的路徑)liststatus() (列出目錄下的所有檔案)
Globstatus.java import java.io.IOException; import java.net.URI; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.
(sed命令)linux替換目錄下所有檔案中的某字串
linux替換目錄下所有檔案中的某字串 比如,要將目錄/modules下面所有檔案中的zhangsan都修改成lisi,這樣做: sed -i “s/zhangsan/lisi/g” grep zhangsan -rl /modules 解釋一下: -i 表示inplace ed
C++瀏覽目錄下所有檔案(window和linux版本)
原本以為這麼常用的功能應該是標準C支援的,試了一下才發現不同平臺差異挺大。 參考部落格:https://blog.csdn.net/u012005313/article/details/50687297 上程式碼 test_dir.cpp #include <vector>
Python計算一個目錄下所有檔案(包括子目錄中所有檔案)指定的檔案型別個數
輸入工程名計算一個工程專案中C++,Java,Python,GO語言的檔案個數,並找出Python檔案中最大檔案的檔名 1、先讀取檔案地址,找到該資料夾 import os import os.path path = 'C:/python學習/Python作業/' +
java程式 一次改變指定目錄下所有檔案編碼(包括子目錄中的檔案)
package transCoding; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInpu
批處理解決實際問題1——將目錄下所有檔案(*.cpp)分別建立同名資料夾並移入其中
問題描述: 學習OpenGL時,從網上下載了一些原始碼,解壓後發現所有.cpp檔案在同一個目錄下,這樣直接一個一個全部編譯的話,就亂套了,雖然不影響結果但不利於管理。於是,我需要寫一個程式將所有*.cpp檔案放入到同名檔案加下。 解決方案: 毫無疑問,採用批處理技術。思路
php獲取目錄下所有檔案及目錄(多種方法)
獲取某目錄下所有子檔案和子目錄 function getDirContent($path){ if(!is_dir($path)){ return false; }
Linux基礎篇之輸出重定向與萬用字元
1.輸出分為: 標準輸出重定向(檔案描述符11),錯誤輸出重定向(檔案描述符為2),二者預設解釋輸出到螢幕上。 2.詳細解釋: 符號 作用 命令 >
批量刪除redis鍵值(使用萬用字元)
轉自: http://blog.csdn.net/spring21st/article/details/15771861 如果是預設的0資料庫: redis-cli -a password keys "key*" | xargs redis-cli -a password
DMM(數字萬用表)精度5位半和6位半的涵義是什麼?
如圖所示,這是一個5位半的數字萬用表。 它可以顯示的數值從-199999 到 199999,包括小數位。 第一個包含4個數碼管,只能顯示的正負和0,1,所以稱之為半位。其他的包含8個數碼管(7段數碼管+1個小數點),能顯示0~9,我們稱之為一位。一個 6 1/2 位數字
一個簡單的模式字串查詢(支援萬用字元‘*’)
資料結構課的一些作業還是有些難度的,對於部分有價值或下了苦工的問題還是傳上來好叻,回頭寫註釋,紀念菜雞生涯 【問題描述】 在當前目錄下的檔案string.in中查詢給定的字串,並將查詢到的字串和行號輸出到當前目錄下的檔案string.out中。要求: 1)從鍵
用FindFirstFile和FindNextFile函式歷遍指定目錄的所有檔案
本文利用FindFirstFile(),FindNextFile()函式歷遍指定目錄的所有檔案,最基礎的歷遍所有檔案。一下程式碼尚無法解決檔名為中文時的亂碼問題,以及無法分別無後綴的檔名和資料夾名的區別。http://blog.csdn.net/u012005313/article/details/464
Struts2用萬用字元進行模糊分頁查詢
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ taglib prefix="s" uri="/struts-tags" %> <!DO
linux SFTP用戶創建 不允許用戶登錄,並且連接只允許在制定的目錄下進行操作
重啟 login mil shell man 權限 directory end roo 1.創建用戶 groupadd sftp 2.添加用戶並設置為sftp組 useradd -g sftp -s /sbin/nologin -M sftp (/sbin/nolo
用遞迴方法輸出目錄下所有的檔名
# !/bin/bash function echo_name() { #shell會執行反引號中的內容(命令) for file in `ls $1` do if [ -d $1'/'$file ] then echo_name $1'/'$file else ech
shell遍歷當前目錄下的檔案,用去掉檔案字尾的字串替換檔案中的文字
今天寫了一個shell,遍歷當前目錄下的檔案,用每個檔案的檔名去掉字尾的字串替換檔案中的一段字串。 指令碼如下: #!/bin/bashfile=`ls *.html`;echo $filefor item in $filedo filename=${item
用python計算出大檔案的md5碼,某路徑下所有檔案的md5碼
#coding:utf-8 #md5check.py #讀檔案,轉成md5碼 #如沒有檔案路徑,則詢問 #是檔案,返回md5碼 #是路徑把其下所有檔案返回md5碼 #參考:http://www.joelverhagen.com/blog/2011/02/md5-hash-
遞歸讀取制定目錄下所有文件夾和文件的實現(java)
sys all obj 異常 on() catch turn tdi else public static String getAllDirectorisAndFiles(String path){ Map<String, Object> res
復制目錄下所有文件(隱藏文件與非隱藏文件)
分享 info bubuko img inf dir .com png mage cp /source-dirname/. /target-dirname(用.表示自己) 復制目錄下所有文件(隱藏文件與非隱藏文件)
python獲取目錄下所有的檔案並修改檔名(隨機8位字元竄名字)
class ChangeName(object): def getRandom(self): seed = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ" sa = [] for