Matlab 按序遍歷資料夾下所有檔案

2021-08-21 22:37:23 字數 1373 閱讀 7204

然後通過size(file)函式,可以返回陣列的維度,得到資料夾下子檔案的個數。

這裡需要注意的一點是,資料夾下我們可以有120個檔案,因為120回嘛,但是size()函式返回值是122,比120多了2,這是為什麼呢?通過查資料才知道,原來啊,資料夾下前兩個子檔案,乙個是『.』,乙個是『..』。

所以我們的第一回『0001.txt』實際上是第3個子檔案哦。

然後通過迴圈好像就可以得到每乙個子檔案了喲,file(i)這個結構體裡面儲存的是第i個子檔案的所有資訊,通過file(i).name得到該子檔案的名字,比如『0001.txt』。

但是在用fopen()函式的時候,上面也有提到,需要寫的是檔案的位置和名字即完整的檔名。那麼如何將位置和file(i).name聯絡在一起呢?在嘗試過各種錯誤之後(因為file(i).name返回值是帶有引號的,所以其實是不可以用傳統的方式直接將兩個字串連線起來),終於找到了乙個函式:fullfile()函式,nice!

filepath=fullfile(『c:\users\shuxin\desktop\紅樓夢』,file(i).name)

得到filepath=c:\users\shuxin\desktop\紅樓夢\0001.txt

然後fopen()就可以正常使用啦。

接下來就是fscanf()函式:

fscanf()函式

a=fscanf(),從fopen開啟的檔案中讀取資料存入a中,a是矩陣的形式呢。

```clear

clcfile=dir('c:\users\shuxin\desktop\紅樓夢')%資料夾的名字,返回結構體陣列

k=size(file) %檔案個數

ch=input('請輸入要查詢的字元:\n','s')

m=length(ch)

fori=1:k %迴圈

name=file(i).name %子檔名

ifi>2

filepath=fullfile('c:\users\shuxin\desktop\紅樓夢',name)%子檔案完整位置及名稱

ans=fopen(filepath,'r') %開啟檔案

cnt=fscanf(ans,'%c') %ans表示檔案是否成功開啟,『%c』表示資料格式

n=length(cnt)

ant=0

fori=1:n-m+1

if(strcmp(cnt(i:i+m-1),ch))

ant=ant+1;

endend fprintf('第%d回里總共有%d個%s\n',i,ant,ch)

endend

遍歷資料夾下所有檔案

對於遍歷資料夾來說,其實並不麻煩,使用file轉化位址物件,再用file組獲取內容,其實google都差不多做好了,我就懶得廢話了,直接上 public listlist new arraylist 遍歷所有檔案 public listgetfilelist string path else ret...

Python Python讀取資料夾下的所有檔案

os.listdir path 是得到在path路徑下所以檔案的名稱列表。open path 是開啟某個檔案。iter是python的迭代器。所以讀取某資料夾下的所有檔案如下 import os path d python34 news 資料夾目錄 files os.listdir path 得到資...

PHP遍歷資料夾下檔案

dir e video 這裡輸入其它路徑 php遍歷資料夾下所有檔案 handle opendir dir.echo 檔案 while false file readdir handle closedir handle 用了這段 遍歷所有檔案,幫我把所有檔名存為乙個陣列。s explode n tr...