文章出處
文章列表
node的文件讀取主要分為同步讀取、異步讀取,常用API有fs.readFile、fs.readFileSync。還有諸如更底層的fs.read,以及數據流(stream),后面再總結下咯~
直接上簡單的demo,看下同步/異步接口的調用時的區別,以及分別對應的異常處理方式。
至于API說明,可參考node官方文檔
/** * 文件讀取demo,by 程序猿小卡 */ 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); } });
文章列表
全站熱搜