我的所有文件所在的目录是:'/usr/home/jordan‘,我在那里有很多文件(在目录中,但有一个文件的扩展名是.txt。
使用nodejs和fs,我希望将第一个文件(或任何扩展名为txt的文件)放入"mytxtfilepath“中。我在整个目录中只有一个.txt文件(在许多其他文件中,但具有不同的扩展名)。这个.txt文件可以被命名为任何名称,我不能保证在任何给定时间它的名称将是什么,只能以.txt结尾:
var homedir = "/usr/home/jordan";
var mytxtfilepath=homedir + "???????";
fs.readfile(mytxtfilepath, function(err,data) {
console.log(data);
});如何在不对txt文件本身进行硬编码的情况下将正确的路径放入txt文件?
发布于 2013-07-08 10:03:38
var files = fs.readdirSync(homedir);
var path = require('path');
for(var i in files) {
if(path.extname(files[i]) === ".txt") {
//do something
}
}发布于 2015-09-30 23:55:13
您也可以使用Glob Module。它对我来说很好!
var glob = require( 'glob' );
var myPath= "/fileFolder/**/*.txt";
glob(myPath, function (er, files) {
// Files is an array of filenames.
// Do something with files.
})发布于 2013-07-08 10:03:51
您可以使用fs.readdir列出文件并查找以.txt结尾的文件
var myPath = "/usr/home/jordan";
fs.readdir(path, function(fileNames) {
for(var i = 0; i < fileNames.length; i++) {
var fileName = fileNames[i];
if(path.extname(fileName) === ".txt") {
fs.readfile(path.join(myPath,fileName), function(err,data) {
console.log(data);
});
break;
}
}
}
);请注意,这需要path,因此在顶部添加var path = require("path")。
https://stackoverflow.com/questions/17518193
复制相似问题