为什么我的程序不能删除它在Win7下创建的文件?

Alb*_*iir 5 java eclipse windows-7

我在Eclipse中创建了一个Java程序.我从Windows XP开始,但最近升级了.

作为其保存机制的一部分,程序将设置写入文件settings_new.sav.如果可以,它会删除settings.sav,并重命名新的名称以匹配旧名称.虽然它在winXP下工作(至少我认为它确实如此,但我现在无法检查),在win7下,它无法删除文件,即使它是创建它的程序(尽管,程序的不同实例) ).

该文件由Eclipse拾取,可以很愉快地从那里删除.我可以手动删除它.我是自己计算机上的管理员.该文件夹位于工作区文件夹内,并且不在Program Files中(但是,我不知道最终用户是否会在那里安装它).该程序可以很好地创建和修改文件.它不会抛出任何异常,我认为如果它是win7阻止它.

有任何想法吗?

Pra*_*Max 9

这是由于java中的文件锁定机制.确保在完成后关闭缓冲流,如BufferedReader,BufferedInputStream.