使用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


猜你喜欢

转载自blog.csdn.net/qq_41307443/article/details/79825432