js 怎么向本地文件写入数据

JavaScript013

js 怎么向本地文件写入数据,第1张

向本地写入数据的方法有以下几点:

1、ajax把要写的数据提交到后台后后台用io写  纯前台貌似正规途径不可能的样子。

2、如果写到服务器端呢。就是所谓的localhost:8080

3、ajax把要写的数据提交到后台后后台用io写  纯前台貌似正规途径不可能的样子,如图:

如果写到服务器端呢。就是所谓的localhost:8080

4、javasript能读取本地的json文件,但是无法写入,读取也本来就是hack的形式读取的,并不像服务端语言那样可以直接操作io,所以最好是后端语言结合使用操作io。

需要先下载安装nodejs即服务器端的js,语法和浏览器端的一样,

write.js

var fs = require("fs")

var data = '我是新写入的内容'

// 创建一个可以写入的流,写入到文件 output.txt 中

var writerStream = fs.createWriteStream('output.txt')

// 使用 utf8 编码写入数据

writerStream.write(data,'UTF8')

// 标记文件末尾

writerStream.end()

// 处理流事件 --> data, end, and error

writerStream.on('finish', function() {

    console.log("写入完成。")

})

writerStream.on('error', function(err){

   console.log(err.stack)

})

console.log("程序执行完毕")

打开cmd,cd到当前目录,node main

文件就创建写入了。

下面这种方法,只支持老版本的ie浏览器ie8及以下;

var fso, f1, f2, s

fso = new ActiveXObject("Scripting.FileSystemObject")

f1 = fso.CreateTextFile("c:\\testfile.txt", true)

// 写一行

f1.Write("This is a test.")

// 关闭文件

f1.Close()

// 获取C:\根目录下的文件句柄

f2 = fso.GetFile("c:\\testfile.txt")

// 移动文件到\tmp目录下

f2.Move ("c:\\tmp\\testfile.txt")

// 拷贝文件到\temp目录下

f2.Copy ("c:\\temp\\testfile.txt")

// 获取文件句柄

f2 = fso.GetFile("c:\\tmp\\testfile.txt")

f3 = fso.GetFile("c:\\temp\\testfile.txt")

// 删除文件

f2.Delete()

f3.Delete()

在浏览器中做不到,使用javascript服务器端运行环境可以做到,比如可以使用node.js来做。

如:

fs.writeFile('xxx.txt', 'Hello Node', function (err) {

if (err) throw err

console.log('It\'s saved!')

})

fs.readFile('xxx.txt', function (err, data) {

if (err) throw err

console.log(data)

})