想請問fs.readdir(path, [callback(err,files)])應該要怎麼用,Path的地方應該填甚麼?
我主要想要用的是在該目錄底下搜尋所有相同副檔名的資料,但不知道這個fuction該怎麼使用,假設我的路徑是C:\XXX\XXX.txt檔案,請問有範例可以直接帶入實驗的嗎,我是JS新手,請個位不吝教導,謝謝
篩選同資料夾下testfolder資料夾內,附檔名為html的檔案。
path就是路徑。
var fs = require('fs')
fs.readdir("testfolder", (err, files)=>{
for (f of files){
if (f.endsWith(".html")){
console.log(f);
}
}
})
fs.readdir(path, [callback(err,files)])
文檔寫得很清楚了,必要的是路徑,後面的callback就是得到結果後該做的事。
[]框起來的是選填。
不過你文件是哪來的?新的版本說明是
https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback
fs.readdir(path[, options], callback)
callback是必要的。
你的文件看起來是v6之前...
為了避免弄混,還有一個fs.readdirSync。
javascript是非同步的,後面有加Sync的會是同步的方法,會比較像一般語言的用法。
說真的,js易學難精,不太適合當第一個語言。
然後node.js版本又進很快,建議去學著看官方文件。
回F大我是在這裡看的 https://www.teakki.com/p/57dfa85b3c20b02e90a0d3f6
,您的code是可以用的,真的很厲害,但還有幾個問題想請教
第一個問題:我送出這個處理後,我的瀏覽器上會顯示拒絕連線,但dos畫面上是顯示正確的檔案,請問是為什麼
第二個問題:我本身是在寫C++的,因為案子關係被趕鴨子上架寫JS,想請問您code里的for開始到console中間的格式,可否請您解析一下,看的不是很懂使用方法,麻煩您了
1.那要看你code才知道,沒看到debug訊息我只能先學通靈才能幫你。
2.都是ES6的新語法。看下面可以稍微知道。
http://caibaojian.com/toutiao/6864
// 這是箭頭函數
(err, files)=>{
for (f of files){
if (f.endsWith(".html")){
console.log(f);
}
}
}
// 等效於下面
function(err, files){
....
}
of也是es6的新語法,可以迭代陣列的值,另外還有一個in,迭代的是陣列的index。
換回正常的寫法就痛苦了。
for (f of files){
if (f.endsWith(".html")){
console.log(f);
}
}
// 等效於下面
for (let i = 0; i<files.length; i++){
let f = files[i]
if (f.endsWith(".html")){
console.log(f);
}
}
1的話另開主題問吧,因為寫在回應不太方便。
然後我node不是主力,說實話我只是稍微有興趣而已。
稍有興趣能回答這麼精細,F大真的不檢單,謝謝您的回答~