//写入文件 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 先解决这个问题
Microsoft Windows [版本 6.1.7601]
版权所有 (c) 2009 Microsoft Corporation。保留所有权利。
C:\Windows\system32>node -v
v0.12.5
C:\Windows\system32>npm -v
2.11.2
C:\Windows\system32>
ok 成功!
=========================
加载的文件必须是GB2312格式的
var iconv = require('iconv-lite');
var fs = require("fs") ;
fs.readFile("c:\\v.txt",function (error,data){
if(error){throw error} ;
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) throw error ;
console.log(data) ;
}) ;