【发布时间】:2016-10-19 14:40:52
【问题描述】:
我的项目需要更改特定文件内容。每次执行代码时,无论文件是否存在,我都需要创建一个新的。如果文件存在,则应删除原始文件的内容,文件中应仅存在新的/新的内容。
注意:每次执行时文件名和文件位置都相同。
代码:
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);
}
}
}
但这只是将新内容附加到旧文件中。 截至目前,如果我背靠背运行两次迭代,文件大小将变成以前的两倍,但我希望它相同,即使数据相同。 有谁知道我怎样才能做到这一点??
【问题讨论】:
-
快速查看 api 可能会有所帮助。检查你在那里经过什么以及我导致了什么。提示:这些参数之一告诉程序追加或不追加。作为另一个侧节点:following the FileUtils Api the call you are doing is depreceated
-
检查它是否存在,是否删除并重新创建?您甚至可以存储旧数据临时文件以防万一您出于任何原因需要它。
-
@Kevin:是的,我知道这是为了追加。但它在 for 循环内,所以我需要在那里追加。在 forloop 开始之前,我想要一个新的同名空文件。
-
字面意思是完全相同的问题,实际上,相同的代码,不同的名称。我们是在帮助别人做作业还是其他什么?
标签: java spring file spring-mvc