可以先讀取出文件夾內(nèi)的所有文件,讀出來之后,放到一個文件中,然后再
公司主營業(yè)務(wù):網(wǎng)站建設(shè)、網(wǎng)站制作、移動網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。創(chuàng)新互聯(lián)建站是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴(yán)謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領(lǐng)域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。創(chuàng)新互聯(lián)建站推出臨夏免費做網(wǎng)站回饋大家。
用數(shù)據(jù)取出來。存到數(shù)組中,public
class
IOtest{
public
static
void
main(String
args){
String
str
=
"c:\\";//假設(shè)要讀c盤中的所有文件,也可以自己寫一個文件路徑
File
f
=
new
File(str);
fun(f);
}
public
static
void
fun(File
f){
if(f.idDirectory()){
File
file
=
f.listFile();//列出所有目錄
try{
for(int
i=0;
ifile.length;
i++){
fun(file);
}
}carch(Exception
e){
}else{
System.out.print(f);
}
}
}}上面這段代碼是把目錄下的文件全部列出來,你可以再寫一個讀取的
CFileFindff;CStringszName=dir;if(szName.Right(1)!="\\"){szName+="\\";}szName+="*.*";BOOLres=ff.FindFile(szName);while(res){res=ff.FindNextFile();if(!ff.IsDots())//目錄是文件夾{//如果是一個子目錄,用遞歸繼續(xù)往深一層找TravelDir(dir+"\\"+ff.GetFileTitle());}elseif(!ff.IsDirectory()!ff.IsDots())//到達最低層的文件{CStringfileName=ff.GetFileName();}}}ff.Close();//關(guān)閉MessageBox(fileName);
使用go語言遞歸查找指定目錄下的文件,根據(jù)正則匹配篩選出需要的文件,并且忽略指定的目錄
先使用 ioutil.ReadDir 遍歷出指定目錄下的文件,再遞歸進目錄中遍歷,問題的關(guān)鍵在于識別出文件為目錄, fs.FileInfo 中有一個 IsDir() 函數(shù)可以識別是否是目錄
正則匹配使用 regexp.MatchString ,regexp中有很多正則操作的工具,如根據(jù)正則替換字符串中的指定字符
golang中關(guān)于目錄與文件名等操作都在os這個包中,具體的創(chuàng)建目錄都是通過Mkdir和MkdirAll這2個函數(shù)來實現(xiàn)的,這兩個函數(shù)用法一致
os.Mkdir(dirName?string,?perm?FileMode)
dirName即要創(chuàng)建的目錄(文件夾路徑),可以是絕對路徑,也可以是相對路徑(相對于GOPATH)
perm表示創(chuàng)建的目錄的權(quán)限,如0777(讀r權(quán)限值為4,寫權(quán)限w值為2,執(zhí)行權(quán)限x值為1)
如:我要在/data/program/goapp這個目錄下創(chuàng)建一個golang這個子目錄,示例如下:
package?main
import?(
"os"
"fmt"
)
func?main()?{
err?:=?os.Mkdir("/data/program/goapp/golang",?0666)
if?err?!=?nil?{
fmt.Println(err)
}
}
注:Mkdir和MkdirAll的區(qū)別
Mkdir創(chuàng)建目錄,它的父級目錄必須是存在的,不然創(chuàng)建會失敗
MkdirAll可以遞歸創(chuàng)建目錄,即只要根目錄存在即可,如下:
err?:=?os.MkdirAll("/data/program/goapp/golang/test/hello",?0766)
if?err?!=?nil?{
fmt.Println(err)
}
本例中:/data/program/goapp是已經(jīng)存在的目錄,而子目錄golang/test/hello是不存在,此時要使用MkdirAll來創(chuàng)建