fs模块
- 文件: .txt、 .html、 .php、 .js、 .json…
- 读取: 获取文件的内容
- 写入: 给文件写入内容
文件的读取与写入又分为同步和异步两种形式
同步和异步的区别
同步:阻塞,当前事情没有做完之前不能再去做其他的事情
var a = 10;
var b = 20;
for(var i=0;i<10;i++){
console.log(i);
}
console.log(a + b);
异步:非阻塞,当前事情没有时可以去做其他的事情
var a = 10;
var b = 20;
setTimeout(function(){
for(var i=0;i<10;i++){
console.log(i);
}
},3000)
console.log(a + b);
异步读取文件内容 --- readFile()
//引入fs模块
var fs = require("fs");
//调用readFile("文件的路径","字符编码",回调函数)
fs.readFile("./data.txt","utf8",function(err,data){
if(!err){
//打印读取的内容
console.log(data)
}
});
同步读取文件 --- readFileSync()
var fs = require("fs");
var data; //data用来保存读取到的文件的内容
try{
data = fs.readFileSync("./data.txt","utf8")
}catch(err){
console.log(err)
}
console.log(data)
异步文件写入 --- writeFile()
PS:以下代码,如果文件不存在,则创建文件;如果文件存在,则覆盖文件内容;
//引入fs模块
var fs = require("fs");
//给文件写入数据,文件的地址 写入的数据 字符编码 回调函数
fs.writeFile("./b.txt","异步文件写入","utf8",function(err){
if(!err){
console.log("写入成功");
}
})
同步文件写入 --- writeFileSync()
//引入fs模块
var fs = require("fs");
try{
//同步写入
fs.writeFileSync("./b.txt","同步文件写入","utf8");
console.log("写入成功");
}catch(err){
console.log(err)
}
url模块
//引入url模块,通过url解析路径
var url = require("url");
实例:
var url = require("url");
var path = "/write?name=jack&password=123456";
console.log(url.parse(path)); //解析路径
console.log(url.parse(path).pathname); //解析路径
console.log(url.parse(path).query,true); //解析前台以get形式发送的数据,加true,将解析到字符类型自动转化为对象形式