2012-06-18 12 views
5

ファイルの内容を削除する必要があります。私はコンテンツを削除する場所などのファイルを同じサイズのままにするなど、さまざまな方法で試しましたが、削除後に書き込みを開始すると、新しいデータが書き込まれる前に空白の穴が削除のサイズとして表示されます。ファイルの内容を削除するandroid

これは

File f = new File(file); 
FileWriter fw; 

try { 
    fw = new FileWriter(f,false); 
    fw.write(""); 
} 
catch (IOException e) { 
    e.printStackTrace(); 
} 

誰かがこの問題の解決策で私を助けてください...私は...

BufferedWriter bw; 
try { 
    bw = new BufferedWriter(new FileWriter(path)); 
    bw.write(""); 
    bw.close(); 
} 
catch (IOException e) { 
    e.printStackTrace(); 
} 

を試みたと私もこれを試してみたものです。

+0

あなただけのファイルを削除し、新しい空のものを作成することができませんか? – Dalmas

+0

いいえ、私は同じファイルにする必要がありますが、あなたの答えに感謝 – kassy

答えて

0

close()を呼び出す前にflush()に電話してみてください。

FileWriter writer = null; 

try { 
    writer = ... // initialize a writer 
    writer.write(""); 
    writer.flush(); // flush the stream 
} catch (IOException e) { 
    // do something with exception 
} finally { 
    if (writer != null) { 
     writer.close(); 
    } 
} 
+0

私は試みたが、それは同じです。分かりません。回答ありがとうございます – kassy

9
FileWriter (path, false) 

偽のではなく、それに追加のファイルを切り詰めるためにライターを教えてくれます。

+0

はい、ファイルの内容を消去したいからです。 – kassy

+0

申し訳ありませんが、コードの2番目の部分にfalseが表示されませんでした。 – mbwasi

0

FileWriter fw.close()を終了していない可能性があります。また、古いデータを "削除"する必要はありません。書き込みを開始すると、古いデータが上書きされます。だからどこでも閉鎖していることを確認してください。

これが私の作品:

File f=new File(file); 
    FileWriter fw; 
    try { 
     fw = new FileWriter(f); 
     fw.write(""); 
     fw.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
関連する問題