[英]javascript - chrome extension: manipulate txt file in the same directory of the js file
[英]How to get the first file with a .txt extension in a directory with nodejs?
我所有文件所在的目录是:'/ usr / home / jordan',我有很多文件(在目录本身,但是一个以.txt扩展名命名的文件)。
使用nodejs和fs,我想将带有txt扩展名的第一个文件(或任何文件)放入“mytxtfilepath”。 我在整个目录中只有一个.txt文件(在许多其他文件中但具有不同的扩展名)单个.txt文件可以命名为ANYTHING,我无法保证在任何给定时间名称将是什么,只是它以。文本:
var homedir = "/usr/home/jordan";
var mytxtfilepath=homedir + "???????";
fs.readfile(mytxtfilepath, function(err,data) {
console.log(data);
});
如何在不对txt文件本身的名称进行硬编码的情况下将正确的路径放到txt文件中?
var files = fs.readdirSync(homedir);
var path = require('path');
for(var i in files) {
if(path.extname(files[i]) === ".txt") {
//do something
}
}
您也可以使用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.
})
您可以使用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;
}
}
}
);
注意这需要路径,所以在顶部添加var path = require("path")
。
您可以使用fs.readdir和path.extname
var fs = require('fs')
, path = require('path');
function getFileWithExtensionName(dir, ext) {
fs.readdir(dir, function(files){
for (var i = 0; i < files.length; i++) {
if (path.extname(files[i]) === '.' + ext)
return files[i]
}
});
}
var homedir = "/usr/home/jordan";
var mytxtfilepath= getFileWithExtensionName(homedir, 'txt')
fs.readfile(mytxtfilepath, function(err,data) {
console.log(data);
});
懒惰的解决方案:
npm install --save readdir
接着
const {read} = require('readdir');
read("/usr/home/jordan", "**/*.txt", (err, paths) =>
console.log(paths)
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.