fs模塊操作文件系統(文件/目錄)


在fs模塊中,可以使用stat方法或lstat方法查看一個文件或目錄信息。當查看符號鏈接文件的信息時,必須使用lstat方法。

一、異步方法

1.語法

fs.stat(path, callback);

fs.lstat(path, callback);

2.參數

(1)path:用於指定需要被查看的文件或目錄的完整路徑及文件名或目錄名;

(2)callback:用於指定查看文件或目錄信息操作完畢時執行的回調函數,方法如下:

function(err, stats){ …… }。

(2-1)參數:

err:查看文件或目錄信息操作失敗時觸發的錯誤對象;

stats:一個fs.Stats對象。

(2-2)該對象具有如下一些方法:

☛ isFile:用於判斷被查看的對象是否為一個文件,如果是返回true,否則,返回false;

☛ isDirectory:用於判斷被查看的對象是否為一個目錄,如果是的話則返回true,否則,返回false;

☛ isBlockDevice:用於判斷被查看的文件是否為一個塊設備文件,如果是的話則返回true,否則,返回false(僅在Unix操作系統下有效);

☛ isCharacterDevice:用於判斷被查看的文件是否為一個字符設備文件,如果是的話則返回true,否則,返回false(僅在Unix操作系統下有效);

☛ isSymbolicLink:用於判斷被查看的文件是否為一個符號鏈接文件,如果是的話則返回true,否則,返回false。該方法僅在lstat方法的回調函數中有效;

☛ isFIFO:用於判斷被查看的文件是否為一個FIFO,如果是的話則返回true,否則,返回false(僅在Unix操作系統下有效);

☛ isSocket:用於判斷被查看的文件是否為一個socket文件,如果是的話則返回true,否則,返回false(僅在Unix操作系統下有效);

(2-3)該對象具有如下一些屬性:

☛ dev:該屬性值為文件或者目錄所在設備ID,該屬性值僅在Unix操作系統下有效;

☛ ino:該屬性值為文件或者目錄的索引編號,該屬性值僅在Unix操作系統下有效;

☛ mode:該屬性值為使用數值形式代表的文件或目錄的權限標志;

☛ nlink:該屬性值為文件或者目錄的硬連接數量;

☛ uid:該屬性值為文件或者目錄的所有者的用戶ID,該屬性值僅在Unix操作系統下有效;

☛ gid:該屬性值為文件或目錄的所有者的組ID,該屬性值僅在Unix操作系統下有效;

☛ rdev:該屬性值為字符設備文件或塊設備文件所在設備ID,該屬性值僅在Unix操作系統下有效;

☛ size:該屬性值為文件尺寸(即文件中的字節數);

☛ atime:該屬性值為文件的訪問時間;

☛ mtime:該屬性值為文件的修改時間;

☛ ctime:該屬性值為文件的創建時間;

var fs = require('fs');
fs.stat( './server.js',function(err, stats){
	console.log(stats);
});

運行結果:

 

二、同步方式

在使用同步方式查看文件信息時,可以使用fs模塊中的statSync方法或lstatSync方法。

1.語法

var mystat = fs.statSync(path);

var mystat = fs.lstatSync(path);

2.參數

path:用於指定需要被查看的文件或者目錄的完整路徑及文件名或目錄名。

該方法返回存放了文件信息的fs.Stats對象。

 

三、fstat/fstatSync

在使用open或者openSync方法打開文件並返回文件描述符后,可以使用可以使用fs模塊中的fstat或者fstatSync方法查詢被打開的文件信息。

1、語法

 fs.fstat( fd, callback );

var mystat = fs.fstatSync( fd );   //該方法返回存放了文件信息的fs.Stats對象

2、參數

fd:參數值必須為打開文件時返回的文件描述符;

callback:用於指定查看文件或目錄信息操作完畢時執行的回調函數,該回調函數的指定方法與stat方法的第二個參數值回調函數完全相同;

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM