首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取nodejs目录下第一个扩展名为.txt的文件?

如何获取nodejs目录下第一个扩展名为.txt的文件?
EN

Stack Overflow用户
提问于 2013-07-08 09:55:50
回答 5查看 20.6K关注 0票数 11

我的所有文件所在的目录是:'/usr/home/jordan‘,我在那里有很多文件(在目录中,但有一个文件的扩展名是.txt。

使用nodejs和fs,我希望将第一个文件(或任何扩展名为txt的文件)放入"mytxtfilepath“中。我在整个目录中只有一个.txt文件(在许多其他文件中,但具有不同的扩展名)。这个.txt文件可以被命名为任何名称,我不能保证在任何给定时间它的名称将是什么,只能以.txt结尾:

代码语言:javascript
复制
var homedir = "/usr/home/jordan";
var mytxtfilepath=homedir + "???????";
fs.readfile(mytxtfilepath, function(err,data) {
  console.log(data);
});

如何在不对txt文件本身进行硬编码的情况下将正确的路径放入txt文件?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-07-08 10:03:38

代码语言:javascript
复制
var files = fs.readdirSync(homedir);
var path = require('path');

for(var i in files) {
   if(path.extname(files[i]) === ".txt") {
       //do something
   }
}
票数 15
EN

Stack Overflow用户

发布于 2015-09-30 23:55:13

您也可以使用Glob Module。它对我来说很好!

代码语言:javascript
复制
var glob = require( 'glob' );  
var myPath= "/fileFolder/**/*.txt";

glob(myPath, function (er, files) {
    // Files is an array of filenames.
    // Do something with files.
})
票数 1
EN

Stack Overflow用户

发布于 2013-07-08 10:03:51

您可以使用fs.readdir列出文件并查找以.txt结尾的文件

代码语言:javascript
复制
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")

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17518193

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档