夺命雷公狗---node.js---12之fs模块文件的操作
node比客户端浏览器的js强的地方之一就是他的文件操作模块,可以直接对系统的文件进行操作

再打开来看下是否发生了变化,由此可见node的强大的地方了。。

实际代码如下所示:
/**
* Created by leigood on 2016/8/30.
*/
var fs = require('fs');
var exec = require('child_process').exec; //打开
var data = fs.readFileSync('day.txt','utf-8');
//console.log(data); //复制文件
//exec('copy day.txt day2.txt'); //修改文件名
//fs.rename('day2.txt','delete.txt'); //修改文件内容
//fs.open(path, flags, [mode], [callback(err,fd)])
//'r' - 以读取模式打开文件。
//'r+' - 以读写模式打开文件。
//'rs' - 使用同步模式打开并读取文件。指示操作系统忽略本地文件系统缓存。
//'rs+' - 以同步的方式打开,读取 并 写入文件。
//注意:这不是让fs.open变成同步模式的阻塞操作。如果想要同步模式请使用fs.openSync()。
//
//'w' - 以读取模式打开文件,如果文件不存在则创建
//'wx' - 和 ' w ' 模式一样,如果文件存在则返回失败
//'w+' - 以读写模式打开文件,如果文件不存在则创建
//'wx+' - 和 ' w+ ' 模式一样,如果文件存在则返回失败
//
//'a' - 以追加模式打开文件,如果文件不存在则创建
//'ax' - 和 ' a ' 模式一样,如果文件存在则返回失败
//'a+' - 以读取追加模式打开文件,如果文件不存在则创建
//'ax+' - 和 ' a+ ' 模式一样,如果文件存在则返回失败
//mode 用于创建文件时给文件制定权限,默认0666
fs.open('day.txt','a',function(err,con){
if(err){
throw err;
}
var data = "welcome leigood fs";
fs.write(con,data,function(err,bytesWritten,buffer){
if(err){
throw err;
}
console.log(bytesWritten);
console.log(buffer);
//这下面的错误主要是预防多个人同时打开同一个文件造成影响
fs.close(con,function(err){
if(err){
throw err;
}
console.log('file close');
});
});
});
夺命雷公狗---node.js---12之fs模块文件的操作的更多相关文章
- 夺命雷公狗---DEDECMS----31dedecms数据库创建一张表完成curl操作
首先我们创建一张测试表,格式如下所示: 然后我们还是在plus目录下创建一个test3.php进行测试,首先写一个添加的: <?php header("Content-Type:tex ...
- 夺命雷公狗---node.js---4net模块(上)
node.js为我们提供了一个net模块,主要是为了提供了一些底层通信的小工具,包含了创建服务器/客户端方法,引入方式也很简单: var net = require('net'); net模块也为我们 ...
- 夺命雷公狗---node.js---3commonJs 与 nodeJs的简介
JavaScript是一个强大面向对象语言,它有很多快速高效的解释器.官方JavaScript标准定义的API是为了构建基于浏览器的应用程序.然而,并没有定于一个用于更广泛的应用程序的标准库. Com ...
- 夺命雷公狗---node.js---7fs模块初步
目录结构如下所示: /** * Created by leigood on 2016/8/13. */ var http = require("http"); var fs = r ...
- node.js 中的 fs (文件)模块
记录 fs 模块的方法及使用 1. fs.stat 获取文件大小,创建时间等信息 // 引入 fs 模块 const fs = require('fs'); fs.stat('01.fs.js', ( ...
- 夺命雷公狗---node.js---2node.js中的npm的常用命令
npm install <name> 安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本 ...
- 夺命雷公狗---node.js---9实现页面的跳转
废话不多说,我们先来看看项目的文件结构,如下所示: 然后我们创建一个index.js的文件让他来做端口监听,代码如下所示: var http = require('http'); var fs = r ...
- 夺命雷公狗---node.js---11之文件上传
我们在做文件上传前需要用npm来安装一个插件先, 首先打开项目所在的目录,然后按住shift键然后右键鼠标进入命令行安装formidable 然后开始编写上传的静态页面: <!DOCTYPE h ...
- 夺命雷公狗---node.js---10之POST的接收
首先我们在项目下创建一个表单,代码如下所示: <!DOCTYPE html> <html lang="en"> <head> <meta ...
随机推荐
- 修改delphi xe6 FMX Label字体颜色
delphi fmx的字体等设置默认与皮肤有关,用代码直接修改字体颜色等是无效的,如何才能用代码修改呢?请按以下方法就可以: 1.在Object inspector中取消StlyedSettings中 ...
- zepto源码--init--学习笔记
先展示init函数,由于笔记本屏幕太小,删掉了部分源码注释,才能在一屏内截图. 当我们调用$()的时候,便会直接调用zepto.init()生成zepto对象,跟jquery生成jquery对象类似. ...
- 逻辑运算符——逻辑与&&、逻辑或||
一直以来,都是认为逻辑运算符返回的是布尔值,却突然发现:并不是这样. 对于||来说,如果条件判断结果为true就返回第一个操作数的值,如果为false就返回第二个操作数的值. &&则相 ...
- css背景图片定位练习(二): background-position的百分比
background-position:x y; 百分比定位并不能直观的看出来,需要通过计算. background-position百分比计算公式: (容器宽度—背景图片的宽度)*x%=xpx(容器 ...
- CentOS联网
虚拟机那里选择NAT模式 用vi /etc/sysconfig/network-scripts/ifcfg-eth0进到网卡文件修改ONBOOT=yes.意思是启动网卡 (注意在vi里,需要编辑时要按 ...
- css3常用动画效果集合01
/*由右到左进场*/ .FromRightToLeft{ -webkit-animation:FromRightToLeft 500s .2s ease both; } @-webkit-keyfra ...
- iOS开发中(null)与<null>的判断
判断(null): if(m_result==nil) { NSLog(@"KDA!"); } 判断<null>: if([m_result isEqual: ...
- 点击空白处隐藏div
class="bigPic"的div是被显示或隐藏的div,另外.case > ul > li是class="bigPic"的父级元素 $(&quo ...
- box_shadow
.tip{width:485px; height:260px; position:absolute;top:10%; left:30%;background:#fcfdfd; box-shadow:1 ...
- Shell数组例子
Shell数组例子 循环打印数组,并统计数组的个数: [root@slavedb array]# cat a.sh #!/bin/bash array=( freddy freddie tang sh ...