使用nodejs 服务器 实现文件读写操作
程序员文章站
2024-01-20 18:40:40
...
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
上一篇: JavaFX 项目实战 —— 文件内容搜索软件 (二)
下一篇: Nginx安装及入门