Tag: 文件系统

Node.js:确定修改时的文件大小

我正在看Node.js中的一个文件,并希望在每次更改时获取文件的大小。 这怎么可以用fs.watchFile完成? 这是我目前正在做的事情: fs.watchFile(file, function(curr, prev) { // determine file size });

使用node.js更改文件

我有一个如下所示的文本文件: ./4F6cFLnAAFc.png ./4Flj9plmKGQ.png ./4fQeHtSdw80.png ./4I9iibPLdBw.png ./4J-dRA3MGc8.png ./4mdEsouIXGM.png ./4-_-wQc3EGE.png ./595Tiga1gIg.png ./60u_ctp6UIw.png ./64bH_27Ehoc.png ./64_ZfIemRGM.png ./66pQLO–Ghk.png ./69rDtSpshAw.png ./69-YUSazuic.png 我想replace. 在每行使用node.js的'myString'的开头。 所以每个最终会看起来像: myString/4F6cFLnAAFc.png 我正在尝试使用正则expression式,但我怀疑它可以使用读取和写入stream。 var fs = require('fs'); fs.readFile('filelist.txt', 'utf-8', function(err, data){ if (err) throw err; console.log(typeof(data)); // string data.replace(/\.\/+/, 'myString'); }); 什么正则expression式将工作或什么是使用节点编辑此文件的最佳方式?

NodeJS writeStream空文件

我正在尝试使用nodeJS来保存存储在base64string中的已处理图像。 var buff = new Buffer(base64data,'base64'); console.log(base64data); var stream = fs.createWriteStream('/path/to/thefile.png'); stream.write(buff) stream.end() 但是,生成的文件是空的。 当我输出console.log(base64data); 并在本地解码,它会产生一个有效的PNG二进制文件,为什么这个文件是空的? 该文件是一个3600×4800像素的PNG文件(即它是巨大的),这可能是一个因素? 另外,我也尝试写文件,没有运气。 是的, fs是require('fs') 谢谢

node.js如何将string插入到文件的开头但不能replace原始文本?

下面的代码插入somestring文件,但也将取代文件内的文本。 如何解决这个问题? fd = fs.openSync('file', 'r+') buf = new Buffer('somestring') fs.writeSync(fd, buf, 0, buf.length, 0) fs.close(fd)

如何检查文件在node.js中是否可执行?

如何检查文件在node.js中是否可执行? 也许类似 fs.isExecutable(function (isExecutable) { })

什么是最有效的方法来读取节点JS中的文件的第一行?

假设你有很多长文本文件,你只需要从每个文件的第一行提取数据(不需要读取更多的内容)。 什么是节点JS的最好的方法来做到这一点? 谢谢!

Node.JS fs.readFileSync()错误的参数

我在我的节点中得到以下错误,不知道为什么: TypeError: Bad arguments at Object.fs.readFileSync (fs.js:277:11) at getSeries (/Users/user/tv/final.js:57:16) at /Users/user/tv/final.js:89:4 at /Users/user/tv/node_modules/async/lib/async.js:610:21 at /Users/user/tv/node_modules/async/lib/async.js:249:17 at iterate (/Users/user/tv/node_modules/async/lib/async.js:149:13) at /Users/user/tv/node_modules/async/lib/async.js:160:25 at /Users/user/tv/node_modules/async/lib/async.js:251:21 at /Users/user/tv/node_modules/async/lib/async.js:615:34 at /Users/user/tv/final.js:86:4 我很确定它与我使用的async npm软件包没有任何关系,因为我在开始使用它之前得到了同样的错误。 这里是代码: function getSeries() { JSON.parse(fs.readFileSync('updates.json', function(err,data) { if (err) { console.error(err); } else { var json = data; } }));

使用node.js覆盖文件中的一行

使用node.js覆盖大型文本文件(2MB +)的最佳方法是什么? 我目前的方法涉及 将整个文件复制到缓冲区中。 通过换行符( \n )将缓冲区分割成一个数组。 使用缓冲区索引覆盖该行。 然后在与\n连接后用缓冲区覆盖文件。

如何读取emscripten编译库中的用户指定文件?

我目前正在使用emscripten编译支持C中的文件parsing库。 它从读取二进制文件的用户处获取文件path并对其进行parsing。 我知道emscripten不支持直接加载文件,而是使用虚拟文件系统。 有没有办法将文件加载到虚拟文件系统的给定path,以便emscripten编译的C库可以读取它? 我在寻找NodeJS和浏览器的解决scheme。

nodejs同步逐行读取大文件?

我有一个大文件(utf8)。 我知道fs.createReadStream可以创buildstream来读取大文件,但不能同步。 所以我尝试使用fs.readSync ,但阅读文本被打破,如"迈 " 。 var fs = require('fs'); var util = require('util'); var textPath = __dirname + '/people-daily.txt'; var fd = fs.openSync(textPath, "r"); var text = fs.readSync(fd, 4, 0, "utf8"); console.log(util.inspect(text, true, null));