溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Node.js fs模塊(文件模塊)創(chuàng)建、刪除目錄(文件)讀取寫入文件流的方法

發(fā)布時間:2020-08-31 19:11:42 來源:腳本之家 閱讀:141 作者:houyanhua1 欄目:web開發(fā)

fs模塊.js:

/* 
 1. fs.stat 檢測是文件還是目錄(目錄 文件是否存在) 
 2. fs.mkdir 創(chuàng)建目錄 (創(chuàng)建之前先判斷是否存在) 
 3. fs.writeFile 寫入文件(文件不存在就創(chuàng)建,但不能創(chuàng)建目錄) 
 4. fs.appendFile 寫入追加文件 
 5.fs.readFile 讀取文件 
 6.fs.readdir 讀取目錄 
 7.fs.rename 重命名 
 8. fs.rmdir 刪除目錄 
 9. fs.unlink 刪除文件 
*/
var fs=require('fs');  //fs是node.js的核心模塊,不用下載安裝,可以直接引入 
//1. fs.stat 檢測是文件還是目錄 fs.statSync()同步獲取stats對象,通過返回值接收。
fs.stat('html',function(error,stats){
  if(error){
    console.log(error);
    return false;
  }
  console.log('文件:'+stats.isFile());
  console.log('目錄:'+stats.isDirectory());
})
//2. fs.mkdir 創(chuàng)建目錄 
fs.mkdir('css',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('創(chuàng)建目錄成功');
})
//3. fs.writeFile 寫入文件(會覆蓋之前的內(nèi)容)(文件不存在就創(chuàng)建) utf8參數(shù)可以省略 
fs.writeFile('123.txt','你好nodejs 覆蓋','utf8',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('寫入成功');
})
//4. fs.appendFile 追加文件 
fs.appendFile('123.txt','這是寫入的內(nèi)容\n',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('寫入成功');
})
//5.fs.readFile 讀取文件 
fs.readFile('123.txt',function(error,data){
  if(error){
    console.log(error);
    return false;
  }
  //console.log(data); //data是讀取的十六進(jìn)制的數(shù)據(jù)。 也可以在參數(shù)中加入編碼格式"utf8"來解決十六進(jìn)制的問題;
  console.log(data.toString()); //讀取出所有行的信息 
})
//6.fs.readdir 讀取目錄下第一級內(nèi)容 把目錄下面的文件和文件夾都獲取到。 
fs.readdir('html',function(error,data){
  if(error){
    console.log(error);
    return false;
  }
  console.log(data); //data是數(shù)組類型,包含文件夾以及文件的名字(只有第一級目錄內(nèi)容)。拿到一個文件夾下面的所有目錄 
})
//7.fs.rename 重命名 1.改名 2.剪切文件(移動) 
fs.rename('html/index.html','html/news.html',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('修改名字成功');
})
//8. fs.rmdir 刪除目錄  rmdir 這個方法只能刪除目錄,不能刪除文件 
fs.rmdir('abc目錄',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('刪除目錄成功');
})
//9. fs.unlink刪除文件 
fs.unlink('index.txt',function(error){
  if(error){
    console.log(error);
    return false;
  }
  console.log('刪除文件成功');
})
//10. fs.createReadStream 從文件流中讀取數(shù)據(jù),讀取的文件比較大時建議用流的方式讀取,文件比較大會多次讀取。 
var fileReadStream = fs.createReadStream( 'data1.json');
var str = '';
fileReadStream.on('data', (data) => {
  console.log("接收到" + data.length);  //文件比較大時,會多次讀取,多次執(zhí)行該回調(diào)函數(shù) 
str += data;
})
fileReadStream.on('end', () => {
  console.log(" --- 結(jié)束 ---");
console.log( str );
})
fileReadStream.on('error', (error) => {
  console.log(error)
})
//11. fs.createWriteStream 寫入文件流 
var fs = require("fs");
var data = "我是從數(shù)據(jù)庫獲取的數(shù)據(jù),我要保存起來";
var writerStream = fs.createWriteStream('output.txt');
writerStream.write( data , 'UTF8' );
writerStream.end(); //標(biāo)記文件末尾 結(jié)束寫入流,釋放資源 
writerStream.on( 'finish', function() {
  console.log("寫入完成。");
});
writerStream.on( 'error', function(error){
  console.log(error.stack);
});
console.log("程序執(zhí)行完畢");
//12. pipe 管道流 
var fs = require("fs");
var readerStream = fs.createReadStream( 'input.txt');
var writerStream = fs.createWriteStream( 'output.txt');
readerStream.pipe( writerStream );
console.log("程序執(zhí)行完畢");
//13. fs.access 判斷目錄、文件是否存在(讀寫權(quán)限)
var fs = require('fs');
fs.access('package.json',(err)=>{
  console.log(err ? '目錄/文件不存在': '文件存在,可以進(jìn)行讀寫');
});

總結(jié)

以上所述是小編給大家介紹的Node.js fs模塊(文件模塊)創(chuàng)建、刪除目錄(文件)讀取寫入文件流的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對億速云網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI