Перебор файлов в папке (javascript)

#javascript #node.js

#javascript #node.js

Вопрос:

Я ищу, чтобы перебирать файлы в папке. Я не буду знать, какими будут имена файлов при запуске скрипта, я просто хочу получить имена.

Я хочу, чтобы это работало именно так, но я не могу понять, как это сделать. Я понимаю, почему это не работает, но я не понимаю, как заставить это работать так, как я хочу.

 for (file in "./levels/") {
    console.log(file)
}
 

есть ли способ заставить его работать таким образом?

Комментарии:

1. Нет способа заставить его работать так, нет. Вы должны использовать fs модуль, который предоставляет Node. Прочитайте документацию .

Ответ №1:

 const fs = require("fs");
fs.readdirSync(".levels/").forEach(file => {
    //Print file name
    console.log(file)

    /*
    Run this to print the file contents
    console.log(readFileSync(".levels/"   file, {encoding: "utf8"}))
    */
})

//but if your goal is just to print the file name you can do this
fs.readFileSync(".levels/").forEach(console.log)
 

Комментарии:

1. у вас есть представление о том, сколько времени это занимает для файлов 1K? Есть ли какие-либо тесты?

Ответ №2:

Единственный способ перебирать каталоги и / или файлы — это использовать fs или какую-либо стороннюю программу, такую как glob

 fs.readdirSync("path/to/folder").forEach(name => console.log(name))
 

При этом будут выведены имена каждого файла в каталоге.

Комментарии:

1. знаете ли вы, сколько времени в среднем занимает чтение этих файлов?

Ответ №3:

Только что понял это. использование модуля fs в node.js Я могу перебирать файлы. вот код, который я использую:

 fs.readdirSync("./levels/").forEach((file) => {
     console.log(file)
})