溫馨提示×

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

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

如何在node.js中使用fs和path內(nèi)置模塊

發(fā)布時(shí)間:2020-11-09 15:21:29 來(lái)源:億速云 閱讀:196 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

本篇文章給大家分享的是有關(guān)如何在node.js中使用fs和path內(nèi)置模塊,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。

readFile

readFileSync 同步讀取數(shù)據(jù)

var fs=require('fs');

fs.readFileSync('./a.txt');

readFile 異步讀取數(shù)據(jù)

var fs=require('fs'); //引入文件
fs.readFile('./a.txt',function(err,data){

//當(dāng)異步讀取完文件數(shù)據(jù)后執(zhí)行該回調(diào)函數(shù)中代碼
//err 錯(cuò)誤對(duì)象;
//data 數(shù)據(jù)
if(err){
 console.log('讀取文件出錯(cuò)');
return;
 }
 //正常打印數(shù)據(jù)
 console.log(data.toString());
})
console.log('111');

寫(xiě)文件writeFile

writeFileSync 同步讀取數(shù)據(jù)

var fs=require('fs'); //引入內(nèi)置模塊

fs.writeFileSync("b.txt","我是寫(xiě)入的內(nèi)容");

writeFile 異步讀取數(shù)據(jù)

fs.writeFile('c.txt','我是寫(xiě)入的內(nèi)容',function(err){
 if(err){
 console.log('寫(xiě)文件出錯(cuò)');
 return;
}
console.log('寫(xiě)文件出錯(cuò)');

})
console.log('111');

練習(xí)

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

fs.mkdirSync('./web1804'); //同步創(chuàng)建目錄;
fs.writeFileSync('./web1804/node1.txt','這是我的學(xué)習(xí)筆記');
var data=fs.readFileSync('./web1804/node1.txt');
console.log(data.toString());

fs.mkdir('./web1804_1',function(err){
  if(err){
 console.log('創(chuàng)建目錄失敗');
 return;
  }
  console.log('創(chuàng)建目錄成功');
})

var isExist=fs.existsSync('./web1804');

拓展

1、文件刪除;

2、創(chuàng)建多級(jí)目錄 d:/web1804/javascript/css

3、刪除文件目錄

4、復(fù)制文件

創(chuàng)建目錄fs.mkdir

檢測(cè)是文件還是目錄 fs.stat

寫(xiě)入追加文件 fs.oppendFile

讀取目錄fs.readdir

重命名 rename

刪除目錄 rmdir

刪除文件 unlink

path

var path=require('path);
var psth2="http://www.baidu.com.cn/img.jpg ";

var index=psth2.indexOf('/');
console.log(index);

var lastindex=psth2.lastIndexOf('/'); //從后向前獲取指定字符在字符串中的序號(hào)
var sub=path2.substring(lastindex+1); //substring(index) 返回指定序號(hào)index后的子字符串
console.log('sub:+'+sub);

path.basename返回路徑的最后一部分

var psth2="http://www.baidu.com.cn/img.jpg "; 
var imgName=path.basename(path2); //返回路徑的最后一部分,個(gè)人認(rèn)為用這個(gè)來(lái)獲取文件名或者URL中帶的參數(shù)
console.log(imgName); 

path.jion

var paths=path.jion('web1804','html','css');

console.log(paths); //web1804\html\css

path.parse返回路徑字符串的對(duì)象

var path2='https://cache.yisu.com/upload/information/20201107/112/144.jpg';
var url=path.parse(path2);
console.log(url);

console.log(_dirname); 當(dāng)前絕對(duì)路徑

拓展

substring(); 返回指定序號(hào)index后的子字符串;

lastIdexOf 從后向前獲取指定字符中在字符串中序號(hào);

補(bǔ)充知識(shí):NodeJs內(nèi)置的url、path、http模塊的應(yīng)用

1.url模塊:

//引入url模塊
var url = require("url");

//假設(shè)一個(gè)網(wǎng)址
var href = "http://www.baidu.com?name=jhh&age=20";

//將網(wǎng)址解析成一個(gè)Url對(duì)象
var obj = url.parse(href,true);
console.log(obj);

//獲取Url對(duì)象中的query對(duì)象
var query = obj.query;
console.log("queryName:"+query.name);
console.log("queryAge:"+query.age);

2.path模塊:

//引入path模塊
var p = require("path");

//自定義絕對(duì)路徑
var path = "C:\\jhh\\text\\js";

//去掉最后一層
console.log(p.dirname(path)); //C:\jhh\text

//取最后一層
console.log(p.basename(path)); //js

3.http模塊:

//引入http模塊
var http = require("http");

//創(chuàng)建web服務(wù)器
var server = http.createServer();

//監(jiān)聽(tīng)請(qǐng)求
server.on("request",function (request, response) {
  console.log("收到用戶(hù)請(qǐng)求:"+request.method);
  var url = request.url;
  var msg = "";
  if(url == "/"){
    msg = "這是主頁(yè)"
  }else if(url == "/login"){
    msg = "這是登錄頁(yè)"
  }else {
    msg = "404";
  }
  //解決相應(yīng)亂碼
  response.setHeader("content-type","text/html;charset=utf-8");

  //相應(yīng)數(shù)據(jù)
  response.write(msg);

  //結(jié)束相應(yīng)
  response.end();
});

//啟動(dòng)服務(wù)器
server.listen(8081,function () {
  console.log("服務(wù)器啟動(dòng)")
});

以上就是如何在node.js中使用fs和path內(nèi)置模塊,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

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

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

AI