Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以在文件中间用fsCealWrrestStestRAM编写文本?(或一般在节点中)_Javascript_Node.js - Fatal编程技术网

Javascript 是否可以在文件中间用fsCealWrrestStestRAM编写文本?(或一般在节点中)

Javascript 是否可以在文件中间用fsCealWrrestStestRAM编写文本?(或一般在节点中),javascript,node.js,Javascript,Node.js,我试图在文本文件中写入,但不是像appendFile()那样在结尾处写入,也不是替换entiere内容 我发现可以使用fs.createwritestream()的start参数选择要从哪里开始 但是没有参数来说明在哪里停止写,对吗?因此,在我使用此函数编写之后,它会删除我文件的所有结尾 const fs = require('fs'); var logger = fs.createWriteStream('result.csv', { flags: 'r+', start: 20

我试图在文本文件中写入,但不是像appendFile()那样在结尾处写入,也不是替换entiere内容

我发现可以使用fs.createwritestream()的start参数选择要从哪里开始

但是没有参数来说明在哪里停止写,对吗?因此,在我使用此函数编写之后,它会删除我文件的所有结尾

const fs = require('fs');

var logger = fs.createWriteStream('result.csv', {
  flags: 'r+', 
  start: 20 //start to write at the 20th caracter
})

logger.write('5258,525,98951,0,1\n') //example a new line to write
是否有一种方法可以指定在文件中停止写入的位置,以获得类似以下内容:

const fs = require("fs");

const fileData = fs.readFileSync("result.csv", { encoding: "utf8" });
const fileDataArray = fileData.split("\n");
const newData = "5258,525,98951,0,1";
const index = 2; // after each row to insert your data

fileDataArray.splice(index, 0, newData); // insert data into the array

const newFileData = fileDataArray.join("\n"); // create the new file

fs.writeFileSync("result.csv", newFileData, { encoding: "utf8" }); // save it
  • 从头开始的数据
  • 525852598951,0,1
  • 数据到底
我怀疑你的意思是“在文件的中间有可能<强>插入< /强>吗?”答案是:不,不是。

相反,要插入,您必须:

  • 确定要插入的内容有多大
  • 将插入点处的数据复制到文件中的多个字节
  • 写下你的数据
  • 显然,在执行#2时,您需要确保没有覆盖尚未复制的数据(可以先将数据全部读入内存,也可以从文件末尾到插入点分块工作)



    (我从来没有找过,但可能有一个
    npm
    模块为您做这件事…

    您可以先读取/解析您的文件。然后应用修改并保存新文件

    比如:

    const fs = require("fs");
    
    const fileData = fs.readFileSync("result.csv", { encoding: "utf8" });
    const fileDataArray = fileData.split("\n");
    const newData = "5258,525,98951,0,1";
    const index = 2; // after each row to insert your data
    
    fileDataArray.splice(index, 0, newData); // insert data into the array
    
    const newFileData = fileDataArray.join("\n"); // create the new file
    
    fs.writeFileSync("result.csv", newFileData, { encoding: "utf8" }); // save it