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 Explorer などでディレクトリを同時に監視している可能性がありますか? 一部のエクスプローラ拡張機能は、検査のためにファイルにアクセスします。これが同時に発生した場合、JVM は一時ファイルを削除できません。これは、Windows が許可していないためです。

Java 6 で実行されていることがわかります。Java 7 に切り替えると、より詳細な例外が発生するはずです。これは、私の仮定を確認するのに役立つ可能性があります。

于 2012-08-14T10:39:19.353 に答える