私は定期的に更新する必要のある情報の量が非常に少ないファイルを持っています。言い換えれば、私はそれを書く前にファイルを切り捨てたいと思う。私が見つけたもっとも簡単な解決策は、ここに示すように、それを削除して再度作成することでした:Java - ファイルの内容を置き換える方法は?
これはうまく動作しますが、より良い方法がありますか?
私は定期的に更新する必要のある情報の量が非常に少ないファイルを持っています。言い換えれば、私はそれを書く前にファイルを切り捨てたいと思う。私が見つけたもっとも簡単な解決策は、ここに示すように、それを削除して再度作成することでした:Java - ファイルの内容を置き換える方法は?
これはうまく動作しますが、より良い方法がありますか?
ファイルを削除して再作成する必要はありません。たとえば、PrintWriter
を使用してファイルに書き込む場合は、現在のファイルの内容が上書きされます。
例:
public static void main(String[] args) throws IOException
{
PrintWriter prw= new PrintWriter (“MyFile.txt”);
prw.println("These text will replace all your file content");
prw.close();
}
あなたはPrintWriterのコンストラクタのオーバーロードされたバージョンを使用する場合、それが唯一のファイルの末尾に追加します:以下の例では
PrintWriter prw= new PrintWriter (new FileOutputStream(new File("MyFile.txt"), true));
//true: set append mode to true
を、「偽の」ファイルが上書きされるようにします。
File file=new File("C:\Path\to\file.txt");
DataOutputStream outstream= new DataOutputStream(new FileOutputStream(file,false));
String body = "new content";
outstream.write(body.getBytes());
outstream.close();
ファイルの一貫性を維持していますか?あなたがそうした場合、複製よりも良い答えがあるかもしれません。 – dasblinkenlight