在工作区中,我们有一组资源文件,其中包含内容。
问题:当我选择项目时,我们可以获取资源文件,现在我们要清除文件的内容。因此,我们尝试将资源文件设置为IFile
,如果我们尝试使用IFile::delete()
方法,则会从工作区中删除资源文件,而不是清除内容。
如何在不删除工作空间的IFile的情况下清除工作区中存在的IFile
的内容?
答案 0 :(得分:1)
使用IFile::setContents()
更改文件内容。
要清除文件内容,请使用空输入流:
InputStream newContents = new ByteArrayInputStream( new byte[ 0 ] );
IProgressmonitor monitor = ...
file.setContents( newContents, IResource.KEEP_HISTORY, monitor );
KEEP_HISTORY
标记将以前的内容保留在历史记录中,以便用户可以使用替换为>返回到早期版本。本地历史。如果不需要,请使用IResource.NONE
。