この投稿では、Javaでファイル自体を削除せずにファイルの内容を削除する方法について説明します。

1.使用する BufferedWriter

簡単な解決策は、 BufferedWriter とともに Files.newBufferedWriter(…) との方法 TRUNCATE_EXISTING 標準のオープンオプション。ファイルがすでに存在する場合(書き込み用に開いた場合)、ファイルを長さ0に切り捨てます。

完全な使用法は、try-with-resourceステートメント(Java 7+)を使用して以下に示されています。これは、開かれたストリームとチャネルを自動的に閉じる処理を行います。

コードをダウンロード

2.使用する PrintWriter

または、新しいものを作成することもできます PrintWriter 指定されたファイル名で。ファイルがすでに存在する場合は、サイズがゼロに切り捨てられます。

コードをダウンロード

 
これは、ストリームを閉じるのを処理するtry-with-resourceステートメントを含む同等のバージョンです。

コードをダウンロード

3.使用する FileChannel

The FileChannel クラスは truncate() 指定されたサイズにファイルを切り捨てることができるメソッド。その使用法を以下に示します。

コードをダウンロード

4.使用する RandomAccessFile

とともに RandomAccessFile クラスでは、を使用してファイルの長さを設定できます setLength() 方法。ファイルを切り捨てるには、以下に示すように、ファイルの長さを0として渡します。

コードをダウンロード

5.使用する FileOutputStream

最後に、あなたは使用することができます FileOutputStream ファイルが存在する場合は、長さ0に切り捨てます。このクラスの一般的な呼び出しは次のようになります。

コードをダウンロード

これで、Javaでファイル自体を削除せずにファイルの内容を削除することができます。