您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關(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è)資訊頻道。
免責(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)容。