日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一头扎进Node(三) - File System

發(fā)布時間:2023/12/9 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一头扎进Node(三) - File System 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

file.open:異步模式打開文件

fs.open(path, flags[, mode], callback)

案例代碼如下:

var fs = require('fs');/*** 參數(shù)說明:* 1.path:要打開的文件的文件路徑* 2.flags:打開文件的方式 讀/寫* r:只讀方式打開文件,如果文件不存在會拋出異常* r+:讀寫模式打開文件,如果文件不存在會拋出異常* rs:以同步只讀的方式打開文件,如果文件不存在會拋出異常* rs+:以同步讀寫的方式打開文件,如果文件不存在會拋出異常* w:以寫文件的模式打開文件,如果文件不存在則創(chuàng)建文件,如果存在則清空文件* wx:以寫的模式打開文件,如果文件不存在則創(chuàng)建文件,如果存在拋出異常* w+:以讀寫文件的模式打開文件,如果文件不存在則創(chuàng)建文件,如果存在則清空文件* wx+:以讀寫的模式打開文件,如果文件不存在則創(chuàng)建文件,如果存在拋出異常* a:追加模式打開文件,如果不存在則創(chuàng)建文件* a+:讀寫和追加模式打開文件,如果不存在則創(chuàng)建文件* ax:追加模式打開文件,如果存在拋出異常* ax+:讀寫和追加模式打開文件,如果存在拋出異常* * 3.mode:設(shè)置文件的模式,讀寫執(zhí)行(4-2-1)* 4.callback:打開文件的回調(diào)函數(shù)* function(err,fd){* //err:文件打開失敗的錯誤信息,如果成功則為null* //fd:被打開文件的標(biāo)識* }*/ fs.open('test.txst','wx',function(err,fd){console.info(err);if(err){console.info('文件打開失敗...');}else{console.info('文件打開成功...');} });

fs.openSync:同步模式打開文件

fs.openSync(path, flags[, mode])

具體參數(shù)用法請參考o(jì)pen方法。

案例代碼如下:

var fs = require('fs');var fd =fs.openSync('test.txt', 'r'); console.info(fd);

fs.read:異步讀取一個打開的文件

fs.read(fd, buffer, offset, length, position, callback)

具體參數(shù)用法請參考o(jì)pen方法。

案例代碼如下:

var fs = require('fs');fs.open('test.txt','r',function(err,fd){if(err){console.info('文件打開失敗...');}else{/*** 讀取文件* * fs.read(fd, buffer, offset, length, position, callback)* 1.fd:通過open方法成功打開的一個文件的返回句柄* 2.buffer:用于存放讀取內(nèi)容的buffer對象* 3.offset:新的內(nèi)容添加到buffer中的起始位置* 4.length:添加到buffer中的內(nèi)容長度* 5.position:讀取的文件中的起始位置* 6.callback:讀取文件的回調(diào)函數(shù)* function(err, bytesRead, buffer){* //err:錯誤信息* //bytesRead:讀取的內(nèi)容在buffer中的長度* //buffer:buffer對象* }* @type {Buffer}*/var bf = new Buffer(10);fs.read(fd,bf,0,4,null,function(err, bytesRead, buffer){console.info(err); // null or some errorconsole.info(bytesRead); // 4console.info(buffer); //buffer content});} });

fs.readSync:同步模式讀取打開的文件

fs.readSync(fd, buffer, offset, length, position)

該方法以同步模式讀取打開的文件,并且返回了從文件中讀取的內(nèi)容的長度。具體參數(shù)用法請參考read方法。

案例代碼如下:

var fs = require('fs');var bf = new Buffer(10); var fd =fs.openSync('test.txt', 'r'); var len = fs.readSync(fd,bf,0,4,null); console.info(len); // 4 console.info(bf); // buffer content

fs.rename:異步模式對文件或者文件夾重命名

fs.rename(oldPath, newPath, callback)

對文件或者文件夾進(jìn)行重命名操作

案例代碼如下:

var fs = require('fs');/*** 對文件或者文件夾進(jìn)行重命名操作* * fs.rename(oldPath, newPath, callback)** 1.oldPath:要進(jìn)行重命名的文件* 2.newPath:要重命名的文件名稱* 3.callback:重命名的回調(diào)函數(shù)* function(err){* //err:錯誤信息* }* */ fs.rename('./srcFile.txt','./destFile.text',function(err){console.info(err); });

注意點

  • 當(dāng)源文件不存在的時候回報錯
  • 當(dāng)新的文件名稱已存在會導(dǎo)致原來的那個文件丟失,不會報錯!!!!

fs.renameSync:同步模式對文件或者文件夾進(jìn)行重命名

fs.renameSync(oldPath, newPath)

該方法以同步模式對文件或者文件夾進(jìn)行了重命名,返回值為undefined。具體參數(shù)用法請參考rename方法。

案例代碼如下:

var fs = require('fs');fs.renameSync('./srcFile.txt','./destFile.text');

fs.stat:異步模式獲取文件信息

fs.stat(path, callback)

該方法主要用來獲取文件或者文件夾的信息,包括一些類型、時間相管的信息、文件大小等。

案例代碼如下:

var fs = require('fs');fs.stat('./src',function(err,stats){/**** stats.mode:* On Win32:* 16895 for a dir and 33206 for a file.* On Linux:* 16877 for a dir, 33188 for a file* */console.info("設(shè)備名:" + stats.dev);console.info("類型:" + stats.mode); //33188-文件、16877-文件夾console.info("被連接數(shù)目:" + stats.nlink);console.info("所有者的用戶id:" + stats.uid);console.info("所有者的組id:" + stats.gid);console.info("設(shè)備類型:" + stats.rdev);console.info("文件系統(tǒng) IO 的塊大小:" + stats.blksize);console.info("號碼:" + stats.ino);console.info("大小:" + stats.size);console.info("所占據(jù)塊的數(shù)目:" + stats.blocks);console.info("上次訪問時間:" + stats.atime);console.info("上次修改時間:" + stats.mtime);console.info("上次改變時間:" + stats.ctime);console.info("創(chuàng)建時間:" + stats.birthtime);});

fs.statSync:同步模式獲取文件信息

fs.statSync(path)

該方法以同步模式獲取文件或者文件夾信息,返回一個stats對象。具體參數(shù)用法請參考stat方法。

案例代碼如下:

var fs = require('fs');var stats = fs.statSync('./src'); console.info("設(shè)備名:" + stats.dev); console.info("類型:" + stats.mode); //33188-文件、16877-文件夾 console.info("被連接數(shù)目:" + stats.nlink); console.info("所有者的用戶id:" + stats.uid); console.info("所有者的組id:" + stats.gid); console.info("設(shè)備類型:" + stats.rdev); console.info("文件系統(tǒng) IO 的塊大小:" + stats.blksize); console.info("號碼:" + stats.ino); console.info("大小:" + stats.size); console.info("所占據(jù)塊的數(shù)目:" + stats.blocks); console.info("上次訪問時間:" + stats.atime); console.info("上次修改時間:" + stats.mtime); console.info("上次改變時間:" + stats.ctime); console.info("創(chuàng)建時間:" + stats.birthtime);

轉(zhuǎn)載于:https://www.cnblogs.com/mangoniki/p/5502962.html

總結(jié)

以上是生活随笔為你收集整理的一头扎进Node(三) - File System的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。