使用nodejs 服务器 实现文件读写操作

1.新建文件readwritefile.js

 

2. 在readwritefile.js文件中写入执行生成文件的代码。

代码片段:

// 引入操作文件的模板包
// fs 是node平台提供的核心模块,主要用于操作文件

var fileOp = require('fs');

// 向指定文件中写入指定的内容
// 方法:writeFile('文件路径','写入的内容','处理结果的回调函数')

// 在执行该方法时,如果文件不存在,直接创建,否则直接覆盖。
fileOp.writeFile('./practice/w01.txt','hello nodeJs ,My name : Albert' ,function(error){
	
	// 此处回调函数主要用于返回写入文件时的结果。error代表一个错误对象。
	// 当执行该方法时,会自动调用改回调函数,
	// 当写入文件出现错误时,error:返回一个错误对象,否则返回:null;
	if(error){
		console.log(error);
		return console.log('内容写入失败!');
	}
	return console.log('内容写入成功!');
	
})

3. 通过虚拟DOS进入readwritefile.js文件所在目录。

 

  • 执行命令:nide readwritefile.js 

 

  • 解决方法在Program Files\JavaTool\node_js_source目录下创建 practice文件夹。

 

  • 创建完成之后,继续执行命令:nide readwritefile.js 

 

  • 查看文件及文件内容,如下:

注意:在执行该方法时,如果文件(w01.txt)不存在,直接创建文件(w01.txt),否则直接覆盖。

4. 从指定文件中读取文件内容。

 

  • 创建一个w02.txt文件,文件内容如下:

 

  • 编写读取文件内容的js代码文件readfile.js。
  • 代码片段:
// 引入操作文件的模板包
// fs 是node平台提供的核心模块,主要用于操作文件

var fileOp = require('fs');

// 从指定文件中读取文件中的内容
// 方法:readFile('文件路径','处理结果的回调函数('错误对象','返回数据??//')')
/**
    官网方法解析:
        fs.readFile(path[, options], callback)#
        path <string> | <Buffer> | <URL> | <integer> 文件名或文件描述符。
        options <Object> | <string>
        encoding <string> | <null> 默认为 null。
        flag <string> 默认为 'r'。
        callback <Function>
        err <Error>
        data <string> | <Buffer>
**/

fileOp.readFile('./practice/w02.txt' ,function(error,data){
	
	// 此处回调函数主要用于返回读取文件时的结果。error代表一个错误对象。
	// 当执行该方法时,会自动调用改回调函数,
	// 当读取文件出现错误时,error:返回一个错误对象,否则返回:null;
	if(error){
		console.log('错误信息:');
		throw error;
		return console.log('内容读取失败!');
	}
	console.log('文件内容如下:');
	console.log(data);
	return console.log('内容读取成功!');
	
})

  • 执行命令:node readfile.js 
  • 结果如下:

 

  • 输出的结果为二进制但以十六进制数据为表现形式。
  • 解决方法一:
  • 在console.log(data) 上加toString()方法。
  • 代码片段:
console.log(data.toString());
  • 解决方法二:
console.log(data.toString('utf-8'));
  • 完整代码片段:
// 引入操作文件的模板包
// fs 是node平台提供的核心模块,主要用于操作文件

var fileOp = require('fs');

// 从指定文件中读取文件中的内容
// 方法:readFile('文件路径','处理结果的回调函数('错误对象','返回数据??//')')

fileOp.readFile('./practice/w02.txt' ,function(error,data){
	
	// 此处回调函数主要用于返回读取文件时的结果。error代表一个错误对象。
	// 当执行该方法时,会自动调用改回调函数,
	// 当读取文件出现错误时,error:返回一个错误对象,否则返回:null;
	if(error){
		console.log('错误信息:');
		throw error;
		return console.log('内容读取失败!');
	}
	console.log('文件内容如下:');
	console.log(data.toString('utf-8'));
	return console.log('内容读取成功!');
})

 

  • 解决方法三:
  • 直接在方法中进行声明编码格式:utf-8.
  • 代码片段:
fileOp.readFile('./practice/w02.txt', 'utf-8' ,function(error,data)
  • 完整代码片段:
// 引入操作文件的模板包
// fs 是node平台提供的核心模块,主要用于操作文件

var fileOp = require('fs');

// 从指定文件中读取文件中的内容
// 方法:readFile('文件路径','处理结果的回调函数('错误对象','返回数据??//')')

fileOp.readFile('./practice/w02.txt', 'utf-8' ,function(error,data){
	
	// 此处回调函数主要用于返回读取文件的结果。error代表一个错误对象。
	// 当执行该方法时,会自动调用改回调函数,
	// 当读取文件出现错误时,error:返回一个错误对象,否则返回:null;
	if(error){
		console.log('错误信息:');
		throw error;
		return console.log('内容读取失败!');
	}
	console.log('文件内容如下:');
	console.log(data);
	return console.log('内容读取成功!');
	
})

 

  • 最终结果如下:

 

注:

 

官方文档地址:http://nodejs.cn/api/fs.html#fs_fs_readfile_path_options_callback

 

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Node.js中,可以使用fs模块来读写文件,因此可以通过Node.js来实现点击修改配置文件的功能。以下是一般的实现思路: 1. 创建一个API接口,用于接收来自客户端的修改请求,并将修改后的内容写入配置文件。 2. 在客户端使用Ajax或Fetch等技术,向服务器端发送修改请求。请求的参数可以包括要修改的配置项名称和修改后的值。 3. 在服务器端接收到修改请求后,使用fs模块读取配置文件的内容,并将修改后的内容写入到文件中。这里需要注意的是,要保证对文件的写入操作是安全的,需要进行一些权限控制和错误处理。 4. 返回修改结果给客户端,通常会返回一个布尔值或者一些错误信息,以便客户端进行下一步处理。 下面是一个简单的示例代码,用于修改JSON格式的配置文件: ``` const fs = require('fs'); // 定义API接口,用于接收修改请求 app.post('/api/config', (req, res) => { const { key, value } = req.body; // 获取请求参数 // 读取配置文件 const config = JSON.parse(fs.readFileSync('config.json')); // 修改配置项的值 config[key] = value; // 将修改后的内容写入文件 fs.writeFileSync('config.json', JSON.stringify(config)); // 返回修改结果 res.json({ success: true }); }); ``` 需要注意的是,由于涉及到文件操作,需要特别小心防止文件损坏或数据丢失。因此,在实现过程中需要使用一些安全的技术和方法来保证文件的完整性和安全性,例如备份、加锁、权限控制等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值