node基础:文件系统-文件读取
##文件操作命令:
var fs = require('fs');
/** 文件同步读取 */
// 没有声明encoding,所以返回的是buffer(二进制数据)
var bufferStr = fs.readFileSync('test.txt');
console.log(bufferStr); // 输出 <Buffer 68 65 6c 6c 6f 0a>
// 声明了encoding,所以返回的是普通字符串
var str = fs.readFileSync('test.txt', {
encoding: 'utf-8'
});
console.log(str); // 输出 hello
// 文件读取异常处理:通过try、catch
try{
var errStr = fs.readFileSync('noneExist.txt');
}catch(err){
console.log(err.message); // 输出 ENOENT, no such file or directory 'noneExist.txt'
}
/** 文件异步读取 */
// 无声明encoding
fs.readFile('test.txt', function(err, data){
if(err){
console.log('文件读取失败');
}else{
console.log(data); // 输出 <Buffer 68 65 6c 6c 6f 0a>
}
});
// 声明了encoding
fs.readFile('test.txt', {encoding: 'utf-8'}, function(err, data){
if(err){
console.log('文件读取失败');
}else{
console.log(data); // 输出 hello
}
});
// 异常处理
fs.readFile('noneExist.txt', {encoding: 'utf-8'}, function(err, data){
if(err){
console.log('文件读取失败'); // 输出 文件读取失败
}else{
console.log(data);
}