私のプロジェクトでは、特定のファイルの内容を変更する必要があります。ファイルが存在するかどうかにかかわらず、コードが実行されるたびに新しいものを作成する必要があります。ファイルが存在する場合は、元のファイルのコンテンツを削除し、新しい/新鮮なコンテンツのみをファイルに含める必要があります。ファイルが存在する場合でも、毎回新しいファイルを作成します。
注:ファイル名とファイルの場所は、実行ごとに同じになります。
コード:
Spring.xml:
<bean id=".." class="ImageDataProcess">
<constructor-arg ref="x.y.z.filepath.newImageDataFilepath" />
<other constructor args>
</bean>
<bean id="x.y.z.filepath.newImageDataFilepath">
<constructor-arg value="#{tmpDirectoryPath}/image-data.txt" />
</bean>
ImageDataProcess.java:
@RequiredArgsConstructor
public class ImageDataProcess implements PQR {
private final String newImageDataTextFilepath;
//other values coming from spring
@Override
public void execute() {
File f = new File(newImageDataTextFilepath);
://logic here
:
Forloop(){
FileUtils.writeStringToFile(f, imageDataFileLine + NEWLINE, true);
}
}
}
しかし、これは単に古いファイルに新しい内容を追加します。 現在のところ、2つの繰り返しを繰り返し実行すると、ファイルサイズは前と同じ2倍になりますが、同じデータであっても同じにしたいと考えています。 どのように私はこれを達成することができますか?
最初の書き込み動作後
true
に設定します。あなたがそこを通過しているか、私が何を引き起こしているかを確認してくださいヒント:これらのパラメータの1つは、プログラムに追加または追加を指示します。別のサイドノードとして:[FileUtils APIに続いて、あなたがやっている呼び出しは無駄です](https://commons.apache.org/proper/commons-io/javadocs/api-2.5/deprecated-list.html) – SomeJavaGuyそれを削除して再作成すれば存在しますか? 何らかの理由で必要な場合に備えて、古いデータを保存することもできます。 – Deckerz
@ケビン:ええ、私はそれが追加のためであることを知っています。しかし、その内部のforループので、私はそこに追加する必要があります。 forloopが始まる前に、同じ名前の新しい空のファイルが必要です。 – user2696258