Node读写文件

fs.writeFile(__dirname+'/demo.txt',url,{flag:'a'},function(err){
        if(err){
            console.error(err);
        }else{
            console.log(url+"sucessful");
        }
    })

这是写入txt文本文件的一种方法,其中的flag是写入方式,默认是w,会自动覆盖文件之前的内容;‘a’表示追加

 

JSON文件

1.

var fs = require("fs");
var text = require("./text.json");
text[num]=url;//还有是text.来设置属性值
var destString=JSON.stringify(text);
fs.writeFile("text.json",destString);//这里的路径不用加上文件夹的路径

2.

fs.readFile('text.json','utf8',function(err,data){
        if(err) console.log(err);
        //var str=this.num+"";
        var test=JSON.parse(data);
        test[num]=url;
        var t=JSON.stringify(test);
        fs.writeFile("text.json",t);
    })

 

 

将一个文件转换成JSON文件:

txt:

1
2
3
2
1
hello
word

首先先读取文件,这里采用了同步读取方法:

var text=fs.readFileSync("./demo2.txt",'utf8');

然后我们将它分组,变成一个数组形式:

var str=text.split("\r\n");

这样我们就可以循环这个数组了,将每个符合条件的都保存下来

let length=str.length;
   let arr=[];
   for(let i=0;i<length;i++){
       let num=str[i].slice(0,1);
       if(num=="1"||num=="2"||num=="3"){
           arr.push(num);
       }
   }

然后我们就可以保存到我们自己本地的JSON文件里了:

 fs.readFile('text.json','utf8',function(err,data){
       if(err) console.log(err);
       var test=JSON.parse(data);//解析
       for(let i=0;i<arr.length;i++){//写入
           test[i]=arr[i];
       }
       var t=JSON.stringify(test);//转回json文件
       fs.writeFile("text.json",t,function(err){//写入
           if(err) console.log(err);
           else{
               console.log("successful");
           }
       })
   })

 

在Vue中使用Node.js读写文件时,需要在Vue项目的后端使用Node.js来执行文件操作。下面是一个简单的例子: 1. 首先,确保你已经安装了Node.js和npm。 2. 在Vue项目的根目录下,打开终端并运行以下命令来创建一个简单的Express服务器: ```bash npm init -y npm install express --save ``` 3. 创建一个名为`server.js`的文件,并在其中添加以下代码: ```javascript const express = require('express'); const fs = require('fs'); const app = express(); const port = 3000; app.get('/readFile', (req, res) => { fs.readFile('path/to/file.txt', 'utf8', (err, data) => { if (err) { console.error(err); res.status(500).send('Error reading file'); } else { res.send(data); } }); }); app.post('/writeFile', (req, res) => { const content = 'Hello, Vue!'; fs.writeFile('path/to/file.txt', content, 'utf8', (err) => { if (err) { console.error(err); res.status(500).send('Error writing file'); } else { res.send('File written successfully'); } }); }); app.listen(port, () => { console.log(`Server running at http://localhost:${port}`); }); ``` 替换`path/to/file.txt`为你要读写文件路径。 4. 在终端中运行以下命令,启动服务器: ```bash node server.js ``` 你会看到服务器已经在`http://localhost:3000`上运行。 5. 在Vue组件中,你可以使用`axios`或其他HTTP库来与服务器通信。下面是一个使用`axios`的例子: ```vue <template> <div> <button @click="readFile">Read File</button> <button @click="writeFile">Write File</button> <p>{{ fileContent }}</p> <p>{{ writeStatus }}</p> </div> </template> <script> import axios from 'axios'; export default { data() { return { fileContent: '', writeStatus: '', }; }, methods: { readFile() { axios.get('/readFile') .then(response => { this.fileContent = response.data; }) .catch(error => { console.error(error); }); }, writeFile() { axios.post('/writeFile') .then(response => { this.writeStatus = response.data; }) .catch(error => { console.error(error); }); }, }, }; </script> ``` 在上述例子中,我们在Vue组件中定义了两个按钮,分别用于读取文件和写入文件。当用户点击按钮时,通过发送HTTP请求与服务器进行通信。读取文件时,服务器将返回文件内容,并在Vue组件中展示;写入文件时,服务器将写入指定内容到文件,并在Vue组件中展示写入状态。 请注意,这只是一个简单的示例,你可以根据需要进行修改和扩展。同时,确保在服务器端进行适当的错误处理和安全性验证。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值