nodejs之文件操作

下面的例子主要包括文件的读、写、追加三个内容。

var http = require("http");
var url = require("url")
var querystring = require("querystring")
var fs = require("fs");

http.createServer(function (request, response) {
	var objQuery = querystring.parse(url.parse(request.url).query);
	if (objQuery.type == "read") {
		fs.readFile("./file.txt", function (error, fileData) {
			if (error) {
				send(response, "<h1>read error</h1>");
			} else {
				send(response, "<h1>the read content:</h1>" + fileData);
			}
		});
	}
	else if (objQuery.type == "write") {
		var writeString = "\n" + Date.now();
		fs.writeFile("./file.txt", writeString, function (error) {
			if (error) {
				send(response, "<h1>write error</h1>");
			} else {
				send(response, "<h1>the write content:</h1>" + writeString);
			}
		});
	}
	else if (objQuery.type == "append") {
		var appendString = "\n" + Date.now();
		fs.appendFile("./file.txt", appendString, function (error) {
			if (error) {
				send(response, "<h1>append error</h1>");
			} else {
				send(response, "<h1>the append content:</h1>" + appendString);
			}
		});
	} else {
		send(response, "<h1>please input the right args:</h1>");
	}
}).listen(8080, '192.168.33.98');  

function send(response, content) {
	response.writeHead(200, {
		"content-type": "text/html"
	});
	response.write(content);
	response.end();
}

在js文件的同一个目录下新建一个file.txt,内容为:abc(可以随便写的什么)。

打开浏览器,输入:http://192.168.33.98:8080/,其中:192.168.33.98是我的局域网IP,得到内容如下:

在浏览器中输入:http://192.168.33.98:8080/?type=read,得到内容如下:

在浏览器中输入:http://192.168.33.98:8080/?type=write,得到内容如下:

此时,打开file.txt发现内容就是上面的那一串数字,这个是当前的格林尼治时间。

在浏览器中输入:http://192.168.33.98:8080/?type=append,得到内容如下:

再次打开file.txt,会发现多了一行如上数字。

时间: 2024-10-12 09:07:21

nodejs之文件操作的相关文章

【nodejs学习】1.文件操作

1.小文件拷贝,使用nodejs内置模块 var fs = require('fs'); function copy(src, dst){ fs.writeFileSync(dst, fs.readFileSync(src)); } function main(argv){ copy(argv[0], argv[1]); } main(process.argv.slice(2)); 解释:process是一个全局变量,可通过procress.argv获得命令行参数,argv[0]固定等于node

nodejs用流来对文件操作

nodejs用流来对文件操作 by 伍雪颖 var fs = require('fs'); var reader = fs.createReadStream('in.txt'); var writer = fs.createWriteStream('out.txt'); reader.pipe(writer);

Node.js学习笔记【3】NodeJS基础、代码的组织和部署、文件操作、网络操作、进程管理、异步编程

一.表 学生表 CREATE TABLE `t_student` ( `stuNum` int(11) NOT NULL auto_increment, `stuName` varchar(20) default NULL, `birthday` date default NULL, PRIMARY KEY  (`stuNum`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 学生分数表 CREATE TABLE `t_stu_score` ( `id` int(11

windows下《七天学会NodeJS》学习笔记之三--文件操作

小文件拷贝 var fs = require('fs');   function copy(src, dst) {//接受源文件地址和目的文件地址 fs.writeFileSync(dst, fs.readFileSync(src));//从源路径中读取文件内容,然后写入目标路径 }   function main(argv) { copy(argv[0], argv[1]); }   main(process.argv.slice(2));//`process`是个全局变量,可通过`proce

NodeJS文件操作

让前端觉得如获神器的不是NodeJS能做网络编程,而是NodeJS能够操作文件.小至文件查找,大至代码编译,几乎没有一个前端工具不操作文件.换个角度讲,几乎也只需要一些数据处理逻辑,再加上一些文件操作,就能够编写出大多数前端工具.本章将介绍与之相关的NodeJS内置模块. NodeJS提供了基本的文件操作API,但是像文件拷贝这种高级功能就没有提供,因此我们先拿文件拷贝程序练手.与copy命令类似,我们的程序需要能接受源文件路径与目标文件路径两个参数. 一.文件拷贝 1.小文件拷贝 我们使用No

nodejs文件操作模块FS(File System)常用函数简明总结

件系统操作相关的函数挺多的.首先可以分为两大类. 一类是异步+回调的. 一类是同步的. 在这里只对异步的进行整理,同步的只需要在函数名称后面加上Sync即可 1. 首先是一类最常规的读写函数,函数名称和形式,应该是起源于C语言的. fs.open(文件路径,读写标识,[文件mode值,666],回调函数(err,文件句柄fd)); fs.read(文件句柄fd,被写入的buffer,offset,length,position,回调函数(err, bytesRead, buffer)); fs.

nodejs零基础详细教程2:模块化、fs文件操作模块、http创建服务模块

第二章  建议学习时间4小时  课程共10章 学习方式:详细阅读,并手动实现相关代码 学习目标:此教程将教会大家 安装Node.搭建服务器.express.mysql.mongodb.编写后台业务逻辑.编写接口,最后完成一个完整的项目后台,预计共10天课程. 模块儿化  为什么需要模块儿化? 我们以前的常规js代码中,我们为了重用一些js代码,是将js方法封装起来,放到js文件中,然后在HTML页面中引入js,就可以在页面中使用这些方法了. 当这种直接引入和调用的方式存在一些不友好的地方,比如,

Node.js读写中文内容文件操作

由于Node.js仅支持如下编码:utf8, ucs2, ascii, binary, base64, hex,并不支持中文GBK或GB2312之类的编码, 因此如果要读写中文内容,必须要用额外的模块:iconv-lite 注:Node的iconv模块,仅支持linux,不支持Windows,因此要用纯js的iconv-lite,另:作者说iconv-lite的性能更好,具体参考git站点:iconv-lite 注2:我在测试读写文件时,始终无法把中文写入文件,一直乱码,读取正常,后来同事帮我发

NodeJS静态文件访问性能测试

受益于JavaScript语言优秀特点,使NodeJS开发服务端应用很方便,配合NPM官方提供的大量第三方组件,让NodeJS更加如虎添翼.最近,需要使用NodeJS做一个服务端HTML5的游戏服务器,应用实现包含两大部分:一部分做HTTP服务器为客户端发送html.image.javascript等游戏资源文件:另一部分使用了socket.io实时响应玩家的操作.技术实现并不困难,但要实现一个轻量.稳定.流畅的HTTP静态文件服务器,还是需要花些心思的. 本文笔者对现有一些HTTP服务器的实现