nodejs模塊——fs模塊 使用fs.read讀文件


使用fs.read讀文件

fs.read()

先介紹fs.open。

fs.open(path,flags,[mode],callback)方法用於打開文件,以便fs.read()讀取。

參數說明:

  • path 文件路徑
  • flags打開文件的方式
  • [mode] 是文件的權限(可行參數,默認值是0666)
  • callback 回調函數

flags值及說明如下

復制代碼
r :讀取文件,文件不存在時報錯;
r+ :讀取並寫入文件,文件不存在時報錯;
rs :以同步方式讀取文件,文件不存在時報錯;
rs+ :以同步方式讀取並寫入文件,文件不存在時報錯;
w :寫入文件,文件不存在則創建,存在則清空;
wx :和w一樣,但是文件存在時會報錯;
w+ :讀取並寫入文件,文件不存在則創建,存在則清空;
wx+ :和w+一樣,但是文件存在時會報錯;
a :以追加方式寫入文件,文件不存在則創建;
ax :和a一樣,但是文件存在時會報錯;
a+ :讀取並追加寫入文件,文件不存在則創建;
ax+ :和a+一樣,但是文件存在時會報錯。
復制代碼

fs.close(fd,[callback])

用於關閉文件,fd是所打開文件的文件描述符。

fs.read(fd,buffer,offset,length,position,callback)接收6個參數。

參數說明:

  • fd 文件描述符,必須接收fs.open()方法中的回調函數返回的第二個參數。
  • buffer 是存放讀取到的數據的Buffer對象。
  • offset 指定 向buffer中存放數據的起始位置
  • length 指定 讀取文件中數據的字節數
  • position 指定 在文件中讀取文件內容的起始位置
  • callback 回調函數,參數如下
  •  
    • err 用於拋出異常
    • bytesRead 從文件中讀取內容的實際字節數
    • buffer 被讀取的緩存區對象。

 

例子:

var fs = require('fs'); // 引入fs模塊

// 打開文件
fs.open('./text.txt', 'r', function(err, fd) {
    if (err) {
        throw err;
    }
    console.log('open file success.');
    var buffer = new Buffer(255);
    // 讀取文件
    fs.read(fd, buffer, 0, 10, 0, function(err, bytesRead, buffer) {
        if (err) {
            throw err;
        }
        // 打印出buffer中存入的數據
        console.log(bytesRead, buffer.slice(0, bytesRead).toString());

        // 關閉文件
        fs.close(fd);
    });
});

  運行結果

 


免責聲明!

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



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