3

phonegap 内のテキスト ファイルの内容を削除する方法を教えてください。テキストを含むテキスト ファイルがあります。新しいテキストを挿入する前にそのテキストを削除したいのですが、これは phonegap で可能ですか? ファイルの読み取り、書き込み、削除はできますが、ファイルのコンテンツを削除するにはどうすればよいですか?

4

3 に答える 3

5

切り捨てを使用できます。

後で書く場合は、もう少し複雑です。あなたはできません

writer.truncate(0);
writer.write("Leo was here");

それを行うと、どちらも機能しないように見えますが、それぞれが個別に機能します。したがって、それを機能させるには、切り捨てが完了するまで待ってから書き込みを行う必要があります。切り捨ての onwriteend に書き込みを追加します。注: onwwriteend をクリアまたは変更することが重要です。そうしないと、無限ループが発生します。

したがって、ファイルシステムを取得することから始め、ファイルシステムを使用してファイルエントリを取得します

function clearFile(fileName){
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem){
                         fileSystem.root.getFile(fileName, { create: false }, clearfileExists, fileDoesNotExist);
                         }, getFSFail); 
}

ファイルエントリを取得した(ファイルが存在する)と仮定して、ファイルライターを作成します。

function clearfileExists(fileEntry){
    console.log("File " + fileEntry.fullPath + " exists!");
    fileEntry.createWriter(truncateFile, fileDoesNotExist);
}

これで、ファイル ライターができました。truncate(0) を呼び出し、onwriteend で onwrite エンドをクリアし、必要なものを書き込みます。

function truncateFile(writer){
    console.log("truncate");
    writer.onwriteend= function(evt) {
        LOG("write");
        writer.seek(0);
        writer.onwriteend = function(evt){
            console.log("contents of file now 'Leo was Here'");
        }
        writer.write("Leo was Here");
    }
    writer.truncate(0);
}

完全を期すために、ここにエラーケースの処理があります

function fileDoesNotExist(){
    console.log("file does not exist");
}
function getFSFail(evt) {
    console.log(evt.target.error.code);
}
于 2014-05-23T18:26:16.917 に答える
0

truncate メソッドを使用して、すべてのコンテンツを特定の量まで削除するか、すべてを削除する場合は、いつでもファイルを削除して新しい空のバージョンを作成できます。

function win(writer) {
    writer.truncate(0);
};

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

file.createWriter(win, fail);
于 2013-07-31T13:22:22.007 に答える