日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > Node.js 吊炸天的文件操作

Node.js 吊炸天的文件操作

來源:程序員人生   發布時間:2016-09-22 11:02:21 閱讀次數:3616次

學習要點:

  • 同步和異步
  • 打開文件
  • 獲得文件信息
  • 寫入文件
  • 讀入文件
  • 關閉文件
  • 截取文件
  • 刪除文件
  • 創建目錄
  • 查看目錄
  • 刪除目錄

Node.js 文件系統

同步和異步
同步代碼從上到下履行,異步不受空間控制
案例:file.js

var fs = require('fs'); // 異步讀取 fs.readFile('input.txt', function (err, data) { if (err) return console.log(err); console.log('異步讀取:' + data.toString()); }) // 同步讀取 var data = fs.readFileSync('input.txt'); console.log('同步讀取:' + data.toString()); console.log('程序履行終了。');

這里寫圖片描述

打開文件

fs.open(path, flags[, mode], callback) 參數使用說明以下: path - 文件的路徑。 flags - 文件打開的行動。 mode - 設置文件模式(權限),文件創建默許權限為 0666(可讀,可寫)。 callback - 回調函數,帶有兩個參數如:callback(err, fd)。

案例:open.js

var fs = require('fs'); // 異步打開文件 console.log('準備打開文件'); // 讀寫方式打開inptu.txt fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.log(err); console.log('文件打開成功'); }); console.log('程序履行終了');

這里寫圖片描述

獲得文件信息

fs.start(path, callback) 參數使用說明以下: path - 文件路徑。 callback - 回調函數,帶有兩個參數如:(err, stats), stats 是 fs.Stats 對象

案例:info.js

var fs = require('fs'); console.log('準備打開文件'); fs.stat('input.txt', function (err, stats) { if (err) return console.error(err); console.log(stats); console.log('讀取文件信息成功'); // 檢測文件類型 console.log('是不是為文件(isFile) ? ' + stats.isFile()); console.log('是不是為目錄(isDirectory) ? ' + stats.isDirectory()); })

這里寫圖片描述

寫入文件

fs.writeFile(filename, data[, options], callback) 如果文件存在,寫入的內容會覆蓋舊文件內容 參數使用說明以下: path - 文件路徑。 data - 要寫入文件的數據,可以是 String(字符串)Buffer(流) 對象。 options - 該參數是1個對象,包括 {encoding, mode, flag}。默許編碼為 utf8, 模式為 0666 , flag 為 'w' callback - 回調函數,回調函數只包括毛病信息參數(err),在寫入失敗時返回。

案例: write.js

var fs = require('fs'); console.log('準備寫入文件'); fs.writeFile('input.txt', '我是新寫入的內容', function (err) { if (err) console.error(err); console.log('數據寫入的數據'); console.log('-------------------'); }); console.log('讀取寫入的數據'); fs.readFile('input.txt', function (err, data) { if (err) console.error(err); console.log('異步讀取文件數據:' + data.toString()); })

這里寫圖片描述

讀入文件

fs.writeFile(filename, data[, options], callback) 如果文件存在,該方法寫入的內容會覆蓋舊的文件內容。 參數使用說明以下: path - 文件路徑。 data - 要寫入文件的數據,可以是 String(字符串)Buffer(流) 對象。 options - 該參數是1個對象,包括 {encoding, mode, flag}。默許編碼為 utf8, 模式為 0666 , flag 為 'w' callback - 回調函數,回調函數只包括毛病信息參數(err),在寫入失敗時返回

案例:read.js

var fs = require('fs'); var buf = new Buffer(1024); fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.error(err); console.log('文件打開成功'); console.log('準備讀取文件'); // fd fs.open的標識 // buf 緩存區 // 0, buf.length 緩存區區間 // 0, 讀取input.txt開始位置 fs.read(fd, buf, 0, buf.length, 0, function (err, bytes) { if (err) console.log(err); console.log(bytes + ' 字節被讀取'); if (bytes > 0) { console.log(buf.slice(0, bytes).toString()); } }) })

這里寫圖片描述

關閉文件

fs.close(fd, callback) 參數使用說明以下: fd - 通過 fs.open() 方法返回的文件描寫符。 callback - 回調函數,沒有參數。

案例:close.js

var fs = require('fs'); var buf = new Buffer(1024); fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.error(err); console.log('文件打開成功'); console.log('準備讀取文件'); // fd fs.open的標識 // buf 緩存區 // 0, buf.length 緩存區區間 // 0, 讀取input.txt開始位置 fs.read(fd, buf, 0, buf.length, 0, function (err, bytes) { if (err) console.log(err); console.log(bytes + ' 字節被讀取'); if (bytes > 0) { console.log(buf.slice(0, bytes).toString()); } }) // 關閉文件 fs.close(fd, function (err){ if (err) console.error(err); console.log('文件關閉成功'); }); })

這里寫圖片描述

截取文件

fs.ftruncate(fd, len, callback) 該方法使用了文件描寫符來讀取文件 參數 fd - 通過 fs.open() 方法返回的文件描寫符。 len - 文件內容截取的長度。 callback - 回調函數,沒有參數

案例:ftruncate.js

var fs = require('fs'); var buf = new Buffer(1024); console.log('準備打開文件'); fs.open('input.txt', 'r+', function (err, fd) { if (err) return console.error(err); console.log('文件打開成功'); console.log('截取10字節后的文件內容'); // 截取文件 fs.ftruncate(fd, 10, function (err) { if (err) console.log(err); console.log('文件截取成功'); console.log('讀取相同的文件'); fs.read(fd, buf, 0, buf.length, 0, function (err, bytes) { if (err) console.error(err); // 僅僅輸出讀取的字節 if (bytes > 0) { console.log(buf.slice(0, bytes).toString()); } // 關閉文件 fs.close(fd, function (err) { if (err) console.error(err); console.log('文件關閉成功'); }) }) }) })

這里寫圖片描述

刪除文件

fs.unlink(path, callback) 參數 path - 文件路徑 callback - 回調函數,無參

案例:unlink.js

var fs = require('fs'); console.log('準備刪除文件'); fs.unlink('input.txt', function (err) { if (err) return console.log(err); console.log('文件刪除成功'); })

這里寫圖片描述

創建目錄

fs.mkdir(path[, mode], callback) 參數 path - 文件路徑 mode - 設置目錄權限,默許為0777 callback - 回調函數

案例:mkdir.js

var fs = require('fs'); console.log('創建目錄 test'); fs.mkdir('test', function (err) { if (err) return console.error(err); console.log('目錄創建成功'); });

這里寫圖片描述

查看目錄

fs.readdir(path, callback) 參數使用說明以下: path - 文件路徑。 callback - 回調函數,回調函數帶有兩個參數err, files,err 為毛病信息,files 為 目錄下的文件數組列表

案例:readdir.js

var fs = require('fs'); console.log('查看 /file 目錄'); fs.readdir('../file/', function (err, files) { if (err) return console.log(err); files.forEach(function (file) { console.log(file); }) })

這里寫圖片描述

刪除目錄

fs.rmdir(path, callback) 參數使用說明以下: path - 文件路徑。 callback - 回調函數,沒有參數。

案例: rmdir.js

var fs = require('fs'); console.log('刪除 /test 目錄'); fs.rmdir('test', function (err){ if (err) console.error(err); console.log('讀取 /test 目錄'); fs.readdir('test', function (err, files) { if (err) return console.log(err); files.forEach(function (file) { console.log(file); }) }) });

這里寫圖片描述

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 国产在视频一区二区三区吞精 | 国产精品成人aaaaa网站 | 91n在线观看| 波多野结衣精品在线 | 91在线激情视频 | 欧美天堂在线观看 | 男女视频在线观看 | 嫩草影院在线观看91麻豆 | www.天天操| av色资源| 国产精品毛片无码 | 91av电影在线播放 | 欧美三级网 | 五月婷婷综合网 | 久久精品a | 日韩免费视频网站 | 精品一区中文字幕 | 精品久久久99 | 欧美日韩国产一区二区 | 91视频免费看 | aa国产| 国产精品欧美一区二区 | 国产精品久久久精品 | 天堂蜜桃一区二区三区 | 天堂av.com| 日韩精品网站 | 99久久精品国产一区二区三区 | 美女在线观看www | 成人手机在线免费视频 | 午夜精品久久久久99热蜜桃导演 | jlzzzjlzzz国产免费观看 | 国产精品久久久久久婷婷天堂 | 亚洲欧洲视频在线 | 成人黄色在线播放 | 黄性视频 | 国产亚洲精品久久久久久牛牛 | 国产综合久久久 | 国内最真实的xxxx人伦 | 亚洲一区二区综合 | 一区二区三区91 | 91国内精品久久 |