如何在steroids js中使用File Writer对象来写入本地JSON文件?

时间:2014-03-19 23:28:48

标签: javascript jquery

我正在使用Steroids JS构建一个应用程序,我希望能够覆盖本地JSON文件的内容,我的应用程序从我的应用程序启动时获取数据。我认为文件编写器对象是我完成此任务所需要的,但是我不太确定这一点我不太确定如何使用它在www / MyApp.JSON下专门写入我的本地JSON文件。

有关文件编写者的信息:http://docs.appgyver.com/en/edge/cordova_file_file.md.html#FileWriter

详细

FileWriter对象提供了一种将UTF-8编码文件写入设备文件系统的方法。应用程序响应writestart,progress,write,writeend,error和abort事件。

每个FileWriter对应一个文件,可以多次写入数据。 FileWriter维护文件的位置和长度属性,允许应用程序在文件中的任何位置进行搜索和写入。默认情况下,FileWriter会写入文件的开头,覆盖现有数据。在FileWriter的构造函数中将可选的append boolean设置为true以写入文件的末尾。

下面列出的所有平台都支持文本数据。在写入文件系统之前,文本被编码为UTF-8。某些平台还支持二进制数据,可以作为ArrayBuffer或Blob传入。

<!DOCTYPE html>
<html>
<head>
<title>FileReader Example</title>

<script type="text/javascript" charset="utf-8" src="cordova-1.8.0.js"></script>
<script type="text/javascript" charset="utf-8">

// Wait for Cordova to load
//
function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

// Cordova is ready
//
function onDeviceReady() {
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
}

function gotFS(fileSystem) {
    fileSystem.root.getFile("readme.txt", null, gotFileEntry, fail);
}

function gotFileEntry(fileEntry) {
    fileEntry.file(gotFile, fail);
}

function gotFile(file){
    readDataUrl(file);
    readAsText(file);
}

function readDataUrl(file) {
    var reader = new FileReader();
    reader.onloadend = function(evt) {
        console.log("Read as data URL");
        console.log(evt.target.result);
    };
    reader.readAsDataURL(file);
}

function readAsText(file) {
    var reader = new FileReader();
    reader.onloadend = function(evt) {
        console.log("Read as text");
        console.log(evt.target.result);
    };
    reader.readAsText(file);
}

function fail(evt) {
    console.log(evt.target.error.code);
}

</script>
</head>
<body>
<h1>Example</h1>
<p>Read File</p>
</body>
</html>

0 个答案:

没有答案