0

有谁知道,为什么会发生这种情况?调用 TFile.umount() 时发生错误:

de.schlichtherle.truezip.fs.FsSyncException: part:file:/C:/Data/Backup/New%20Backups/F20120805T070000Z.part!/
    在 de.schlichtherle.truezip.fs.archive.FsTargetArchiveController.close(FsTargetArchiveController.java:623)
    在 de.schlichtherle.truezip.fs.archive.FsTargetArchiveController.sync0(FsTargetArchiveController.java:472)
    在 de.schlichtherle.truezip.fs.archive.FsTargetArchiveController.sync(FsTargetArchiveController.java:460)
    在 de.schlichtherle.truezip.fs.archive.FsContextController.sync(FsContextController.java:236)
    在 de.schlichtherle.truezip.fs.FsResourceController.sync(FsResourceController.java:84)
    在 de.schlichtherle.truezip.fs.FsCacheController.sync(FsCacheController.java:220)
    在 de.schlichtherle.truezip.fs.FsDecoratingController.sync(FsDecoratingController.java:148)
    在 de.schlichtherle.truezip.fs.FsLockController$1Sync.call(FsLockController.java:381)
    在 de.schlichtherle.truezip.fs.FsLockController$1Sync.call(FsLockController.java:370)
    在 de.schlichtherle.truezip.fs.FsLockController.locked(FsLockController.java:166)
    在 de.schlichtherle.truezip.fs.FsLockController.writeLocked(FsLockController.java:108)
    在 de.schlichtherle.truezip.fs.FsLockController.sync(FsLockController.java:394)
    在 de.schlichtherle.truezip.fs.FsDecoratingController.sync(FsDecoratingController.java:148)
    在 de.schlichtherle.truezip.fs.archive.zip.KeyManagerController.sync(KeyManagerController.java:125)
    在 de.schlichtherle.truezip.fs.FsDecoratingController.sync(FsDecoratingController.java:148)
    在 de.schlichtherle.truezip.fs.FsFalsePositiveController.sync(FsFalsePositiveController.java:516)
    在 de.schlichtherle.truezip.fs.FsManager.sync(FsManager.java:139)
    在 de.schlichtherle.truezip.fs.FsManager.sync(FsManager.java:100)
    在 de.schlichtherle.truezip.file.TVFS.sync(TVFS.java:284)
    在 de.schlichtherle.truezip.file.TVFS.sync(TVFS.java:231)
    在 de.schlichtherle.truezip.file.TFile.sync(TFile.java:949)
    在 de.schlichtherle.truezip.file.TFile.umount(TFile.java:997)
.
.
.
引起:java.io.IOException: C:\Data\Backup\New Backups\F20120805T070000Z.part.8228029877339677208.tmp(不能删除临时文件)
    在 de.schlichtherle.truezip.fs.file.TempFilePool$Buffer.pool(TempFilePool.java:80)
    在 de.schlichtherle.truezip.fs.file.TempFilePool$Buffer.release(TempFilePool.java:70)
    在 de.schlichtherle.truezip.fs.file.FileOutputSocket.release(FileOutputSocket.java:126)
    在 de.schlichtherle.truezip.fs.file.FileOutputSocket.close(FileOutputSocket.java:97)
    在 de.schlichtherle.truezip.fs.file.FileOutputSocket.access 100 美元(FileOutputSocket.java:28)
    在 de.schlichtherle.truezip.fs.file.FileOutputSocket$1OutputStream.close(FileOutputSocket.java:153)
    在 de.schlichtherle.truezip.io.DecoratingOutputStream.close(DecoratingOutputStream.java:65)
    在 de.schlichtherle.truezip.zip.RawZipOutputStream.close(RawZipOutputStream.java:696)
    在 de.schlichtherle.truezip.fs.archive.zip.ZipOutputShop.close(ZipOutputShop.java:250)
    在 de.schlichtherle.truezip.fs.archive.FsMultiplexedOutputShop.close(FsMultiplexedOutputShop.java:169)
    在 de.schlichtherle.truezip.socket.DisconnectingOutputShop.close(DisconnectingOutputShop.java:107)
    在 de.schlichtherle.truezip.socket.LockOutputShop.close(LockOutputShop.java:68)
    在 de.schlichtherle.truezip.fs.archive.FsTargetArchiveController.close(FsTargetArchiveController.java:618)
    ... 26 更多

我知道这是由于无法删除 tmp 文件。但为什么会发生这种情况?

4

1 回答 1

0

您是否可能同时观察该目录,例如在 Windows 资源管理器中?一些资源管理器扩展访问文件以进行检查。如果这种情况同时发生,则 JVM 无法删除临时文件,因为 Windows 不允许这样做。

我可以告诉你正在 Java 6 上运行。如果你切换到 Java 7,那么你应该得到一个更详细的异常,这可能有助于检查我的假设。

于 2012-08-14T10:39:19.353 回答