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