Javascript 文本文件中的增量ID-节点js
我想打开一个文件,读取文件中的ID(整数),增加ID,然后在文件中写入新获得的ID。 我在挣扎,因为我有我不太理解的输出。我尝试了几件事,但我不明白1-问题是什么2-我应该做什么来解决问题。 谢谢你的帮助! 代码如下:Javascript 文本文件中的增量ID-节点js,javascript,node.js,Javascript,Node.js,我想打开一个文件,读取文件中的ID(整数),增加ID,然后在文件中写入新获得的ID。 我在挣扎,因为我有我不太理解的输出。我尝试了几件事,但我不明白1-问题是什么2-我应该做什么来解决问题。 谢谢你的帮助! 代码如下: const fs = require('fs'); const { isNumber } = require("util"); var index_feb; fs.readFile('Shared/feb_index.txt', function (err
const fs = require('fs');
const { isNumber } = require("util");
var index_feb;
fs.readFile('Shared/feb_index.txt', function (err, data) {
//parseInt(data).toString()
//index_feb = data;
console.log(data);
data.toString("utf-8");
console.log(data);
const i = parseInt(data.toString("hex"), 16)
isNumber(i);
var l = i;
console.log(l);
l ++;
index_feb = String(l);
console.log(index_feb);
console.log(l);
});
fs.writeFile(path = 'Shared/feb_index.txt', data=String(index_feb), function (err, data) {} );
谢谢@Asterone和@Chris G,通过混合元素,我获得了想要的结果。 以下是最终代码:
const fs = require('fs');
var index_feb;
fs.readFile('Shared/feb_index.txt', function (err, data) {
//parseInt(data).toString()
//index_feb = data;
data = data.toString("utf-8");
console.log(data);
const i = parseInt(data);
var l = i;
console.log(l);
l ++;
index_feb = String(l);
//console.log(index_feb);
console.log(l);
fs.writeFile(path = 'Shared/feb_index.txt', index_feb, function (err, data) {} );
});
fs.readFile
是异步的,要在读取后进行写入,需要将writeFile命令移动到回调函数中,在回调函数中增加值。还要注意的是,函数调用本身通常不起任何作用<例如,code>.toString()返回新值,但您将放弃该值。类似地,对于isNumber
,您需要if(isNumber(i))…
您应该更改data.toString(“utf-8”)代码>到data=data.toString(“utf-8”)
或将缓冲区
转换为字符串,但不将其分配给数据
。整数是以10为基数的吗?@astroide整数不是以10为基数的,我把它去掉了。谢谢你的评论