nodejs中內(nèi)置模塊fs,path常見的用法說明
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');
寫文件writeFile
writeFileSync 同步讀取數(shù)據(jù)
var fs=require('fs'); //引入內(nèi)置模塊
fs.writeFileSync("b.txt","我是寫入的內(nèi)容");
writeFile 異步讀取數(shù)據(jù)
fs.writeFile('c.txt','我是寫入的內(nèi)容',function(err){
if(err){
console.log('寫文件出錯(cuò)');
return;
}
console.log('寫文件出錯(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
寫入追加文件 fs.oppendFile
讀取目錄fs.readdir
重命名 rename
刪除目錄 rmdir
刪除文件 unlink
path
var path=require('path);
var psth1="http://www.baidu.com.cn/img.jpg ";
var index=psth1.indexOf('/');
console.log(index);
var lastindex=psth1.lastIndexOf('/'); //從后向前獲取指定字符在字符串中的序號(hào)
var sub=path1.substring(lastindex+1); //substring(index) 返回指定序號(hào)index后的子字符串
console.log('sub:+'+sub);
path.basename返回路徑的最后一部分
var psth1="http://www.baidu.com.cn/img.jpg "; var imgName=path.basename(path1); //返回路徑的最后一部分,個(gè)人認(rèn)為用這個(gè)來獲取文件名或者URL中帶的參數(shù) console.log(imgName);
path.jion
var paths=path.jion('web1804','html','css');
console.log(paths); //web1804\html\css
path.parse返回路徑字符串的對(duì)象
var path1='http://www.baidu.com.cn/img.jpg'; var url=path.parse(path1); 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 ;
//將網(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)聽請(qǐng)求
server.on("request",function (request, response) {
console.log("收到用戶請(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)")
});
以上這篇nodejs中內(nèi)置模塊fs,path常見的用法說明就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐
本文主要介紹了node實(shí)現(xiàn)批量上傳本地圖片轉(zhuǎn)為圖片CDN的項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07
Node.js之HTTP服務(wù)端和客戶端實(shí)現(xiàn)方式
這篇文章主要介紹了Node.js之HTTP服務(wù)端和客戶端實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-09-09
nodejs?實(shí)現(xiàn)簡(jiǎn)單的文件上傳功能(示例詳解)
這篇文章主要介紹了nodejs?實(shí)現(xiàn)簡(jiǎn)單的文件上傳功能,文件上傳方式分為三種,本文通過實(shí)例代碼給大家詳細(xì)介紹,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-02-02
Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例
這篇文章主要為大家介紹了Node.js使用第三方插件nodemailer實(shí)現(xiàn)郵件發(fā)送示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
Express + Session 實(shí)現(xiàn)登錄驗(yàn)證功能
本文主要介紹在 Express 框架中,如何使用 Session 來實(shí)現(xiàn)用戶登錄身份驗(yàn)證。對(duì)express session實(shí)現(xiàn)登錄驗(yàn)證相關(guān)知識(shí),感興趣的朋友一起看看吧2017-09-09
node.js中fs.stat與fs.fstat的區(qū)別詳解
fs.stat和fs.fstat他們都是用來獲取文件的狀態(tài)信息,下面這篇文章主要給大家介紹了關(guān)于node.js中fs.stat與fs.fstat區(qū)別的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06
詳解node child_process模塊學(xué)習(xí)筆記
這篇文章主要介紹了詳解node child_process模塊學(xué)習(xí)筆記,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01

