node 的文件语法,这里是基于 fs 模板
首先是文件的操作
var fs = require("fs");
1. 创建
fs.writeFile("2.txt","我是2.txt",{flag:"a"),function(err){
if(err){
console.log(err);
}else{
console.log("写入成功");
}
2. 追加文件内容
fs.appendFile("2.txt","我是追加的字符",function(err){
if(err){
return console.log(err);
}else{
console.log("追加成功");
}
})
注意:所有同步的函数都是函数后面加 Sync
var res = fs.writeFileSync("1.txt","真的下雨了");
3. 文件的读取
fs.readFile("1.txt",function(err,data){
if(err){
return console.log(err);
}else{
console.log("修改成功");
}
});
4. 文件修改(文件名的修改)
fs.rename("1.txt","5.txt",function (err) {
if(err){
return console.log(err);
}else{
console.log("修改成功");
}
});
5. 文件删除
fs.unlink("2.txt",function(err){
if(err){
return console.log(err);
}else{
console.log("删除成功");
}
})
node 的方法中没有复制的方法,这里的方法为自己封装
function mycopy(src, dest) {
fs.writeileSync(dest, fs.readFileSync(src));
}
//调用
mycopy("2.txt", "5.txt");
以上为对文件的操作,除了对文件的操作,还有就是对文件夹的操作.
这里注意:mode 的三个数字,分别表示 owner(所有者),group(组用户),others(其他用户) 所具有的权限.
1 = x 执行
2 = w 写
4 = r 读
比如 owner 具有所有权限,1+2+4=7, 又比如 group 具有读 和执行权限 1+4 = 5(1)执行 (2)写入 (3)读取
obj.mkdir("文件夹的名字",mode,function(){})
1. 目录创建
fs.mkdir("22",0777,function(err){
if(err){
return console.log(err);
}else{
console.log("修改权限成功");
}
})
2. 修改文件夹名字
fs.rename("11","22",function(err){
if(err){
return console.log(err);
}else{
console.log("修改成功");
}
})
3. 判断文件或者文件夹是否存在
.fs.exists("22",function(exists){
if(exists){
console.log("文件夹已经存在');
else{
fs.mkdir("22",0777,function(err){
if(err){
return console.log(err);
}else{
console.log("修改成功");
}
})
}
})
4. 文件夹删除(只能删除空文件夹)
fs.rmdir("22",function(err){
if(err){
return console.log(err);
}else{
console.log("修改成功");
}
})
5. 读取文件夹
fs.readdir("22",function(err,data){
if(err){
return console.log(err);
}else{
console.log(data);
}
})
6. 显示文件的详细信息
针对信息来判断是否是文件夹
fs.stat("22",function(err,data){
if(err){
return console.log(err);
}else{
//判断是否是文件
var res = data.isFile();
//判断是否是文件夹
data.isDirectory();
if(res){
console.log("是文件");
} else {
console.log("是文件夹");
}
}
})
7. 删除文件夹
function removeDir(src) {
//获取文件夹里的内容
var arr = fs.readdirSync(src);
//判断是否是文件,如果是文件则删除,如果是文件夹再执行相同过程
for (var i = 0; i < arr.length; i++) {
//子文件的详细信息
//组装文件或者文件夹的路径
var url = src + "/" + arr[i];
var data = fs.statSync(url);
//判断每个元素是文件或者文件夹
if (data.isFile()) {
//是文件
fs.unlinkSync(url);
} else {
//是文件
removeDir(url);
}
}
//删除最外面的空文件夹
fs.rmirSync(src);
}
removeDir("22");
这些就是对文件和文件夹的操作.
来源: http://www.jianshu.com/p/3affe7c81281