【nodejs】 文件系统(fs) 之读写文件

摘要:
//写入文件vardata=“helloworld”;fs。写入文件;//读取文件fs readFile;//[注意:默认情况下,数据代码为utf8;mode=438;flag=w]如果有中文,该怎么办=====;varfs=需要;fs。读取文件;utf-8的文件如下:varfs=require;fs.readFile;

//
写入文件 var data = "hello world"; fs.writeFile('c:\a.txt', data, 'ascii', function(err) { if(err) { console.log('写入文件失败'); } else{ console.log('保存成功, 赶紧去看看乱码吧'); } }); //读取文件 fs.readFile('c:\a.txt', 'ascii', function(err, data) { if(err) { console.log('写入文件失败'); } else{ console.log(data); } }); //[注意:默认情况下,数据编码为utf8;mode=438 ;flag=w]

如果有中文呢?

由于Node.js仅支持如下编码:utf8, ucs2, ascii, binary, base64, hex,并不支持中文GBK或GB2312之类的编码,

因此如果要读写GBK或GB2312格式的文件的中文内容,必须要用额外的模块:iconv-lite

1、安装模块:npm install iconv-lite

windows平台不支持npm 先解决这个问题

【nodejs】 文件系统(fs) 之读写文件第1张

Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。

C:Windowssystem32>node -v
v0.12.5

C:Windowssystem32>npm -v
2.11.2

C:Windowssystem32>

ok 成功!

=========================

加载的文件必须是GB2312格式的

var iconv = require('iconv-lite');
var fs = require("fs") ;
fs.readFile("c:\v.txt",function(error,data){
if(error){throwerror} ;
var str = iconv.decode(data, 'GB2312'); 
console.log(str);
}) ;

utf-8的文件如下

 var fs = require("fs") ;
 fs.readFile("bb.txt","utf8",function(error,data){
     if(error) throwerror ;
     console.log(data) ;
 }) ;

免责声明:文章转载自《【nodejs】 文件系统(fs) 之读写文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇ElasticSearch High Level REST API【4】多搜索mstsc命令详解下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Gin框架文件操作使用

Gin 并没有提供文件的创建,删除,读写这个操作的专门的接口,所以采用的是常用的ioutil这个包进行文件的读写操作,使用os这个包进行文件的创建和删除。 文件的创建,写入内容,读取内容,删除.(此实例使用的是txt文件): 1.在controller下面新建一个fileopt.go,作为实现文件操作的业务逻辑部分: 2.在router.go路由器中添加...

oracle 层次化查询(生成菜单树等)

1、简介:Oracle层次化查询是Oracle特有的功能实现,主要用于返回一个数据集,这个数据集存在树的关系(数据集中存在一个Pid记录着当前数据集某一条记录的Id)。 2、层次化查询主要包含两个子句,一个start with另一个是connect by。 start with:这个子句一般用于指定层次化查询的开始节点(也就是树的最顶级节点),找到最顶级节...

数组中的filter函数,递归以及一些应用。

当我们用一个东西时候我们必须知道的是?why---where----how---when。一个东西我们为什么用?在哪用?怎么用?何时用?而不是被动的去接受一些东西。用在js里边我觉得也会试用。一直追求源生js,虽然也都背过好多东西,但是随着时间的流逝,工作的繁忙都忘了,有时甚至一点印象都没有,这让我开始思考我的学习方法了已经思维方式了。我们要记得不是简单的...

查看k8s中etcd数据

1.查看ETCD集群中运行的ETCD pod [root@master1 ~]# kubectl get pod -n kube-system | grep etcd etcd-master1 1/1 Running 0 61m etcd-master2...

Centos7 安装 MySQL5.7

Centos7 安装 MySQL5.7 一、环境介绍 1.安装包版本介绍 MySQL 有三种安装方式:RPM安装、二进制包安装、源码包安装。我们这篇文章以二进制方式安装MySQL 软件名称 版本 系统版本 CentOS Linux release 7.2.1511 (Core) MySQL mysql-5.7.18-linux-glibc2....

easyui treegrid 动态展开数据(暂记)

 ClassifyAdminSynMsgSvr.GetCLFLList("<%=CurUTag %>", 1, "", function (ret) {                    //console.log(ret);                    //console.log(ret._Items);            ...