TrueVFS はアンマウント後にファイルを削除できず、次の例外がスローされます。
java.nio.file.DirectoryNotEmptyException: tar:file:/D:/tmp/0554de32-5a95-4b58-a05d-d12effa68abc.tar!/ at net.java.truevfs.kernel.impl.ArchiveFileSystem.unlink(ArchiveFileSystem.scala:326) at net.java.truevfs.kernel.impl.BasicArchiveController.unlink(BasicArchiveController.scala:222) at net.java.truevfs.kernel.impl.DefaultManager$BackController.net$java$truevfs$kernel$impl$CacheController$$super$unlink(DefaultManager.scala:39) at net.java.truevfs.kernel.impl.CacheController$class.unlink(CacheController.scala:105) at net.java.truevfs.kernel.impl.DefaultManager$BackController.net$java$truevfs$kernel$impl$SyncController$$super$unlink(DefaultManager.scala:39) at net.java.truevfs.kernel.impl.SyncController$$anonfun$unlink$1.apply$mcV$sp(SyncController.scala:100) at net.java.truevfs.kernel.impl.SyncController$$anonfun$unlink$1.apply(SyncController.scala:98) at net.java.truevfs.kernel.impl.SyncController$$anonfun$unlink$1.apply(SyncController.scala:98) at net.java.truevfs.kernel.impl.SyncController$class.net$java$truevfs$kernel$impl$SyncController$$apply(SyncController.scala:119) at net.java.truevfs.kernel.impl.SyncController$class.unlink(SyncController.scala:98) at net.java.truevfs.kernel.impl.DefaultManager$BackController.net$java$truevfs$kernel$impl$LockController$$super$unlink(DefaultManager.scala:39) at net.java.truevfs.kernel.impl.LockController$$anonfun$unlink$1.apply$mcV$sp(LockController.scala:92) at net.java.truevfs.kernel.impl.LockController$$anonfun$unlink$1.apply(LockController.scala:92) at net.java.truevfs.kernel.impl.LockController$$anonfun$unlink$1.apply(LockController.scala:92) at net.java.truevfs.kernel.impl.LockingStrategy.apply(LockingStrategy.scala:84) at net.java.truevfs.kernel.impl.LockController$class.unlink(LockController.scala:92) at net.java.truevfs.kernel.impl.DefaultManager$BackController.unlink(DefaultManager.scala:39) at net.java.truevfs.kernel.impl.ArchiveControllerAdapter.unlink(ArchiveControllerAdapter.scala:35) at net.java.truevfs.kernel.spec.FsDecoratingController.unlink(FsDecoratingController.java:111) at net.java.truevfs.kernel.impl.FalsePositiveArchiveController$$anonfun$1.apply(FalsePositiveArchiveController.scala:132) at net.java.truevfs.kernel.impl.FalsePositiveArchiveController$$anonfun$1.apply(FalsePositiveArchiveController.scala:131) at net.java.truevfs.kernel.impl.FalsePositiveArchiveController$TryChild$.apply(FalsePositiveArchiveController.scala:195) at net.java.truevfs.kernel.impl.FalsePositiveArchiveController.unlink(FalsePositiveArchiveController.scala:143) at net.java.truevfs.access.TFile.rm(TFile.java:2216) at net.java.truevfs.access.TFile.rm(TFile.java:2195
tar ファイルは正常に作成されているため、問題はありません。
これが私がやっていることです。
真の VFS を構成する
TConfig config = TConfig.current(); config.setArchiveDetector(new TArchiveDetector("tar", new TarDriver()));
タールを作成する
タールをアンマウントする
TVFS.umount(tarFile);
バイトに変換して送信します。
ファイルを削除します
tarFile.rm()
tarFile.rm_r() と単純な java.io.File.delete() も試しました。しかし、それらのどれも機能していません。
誰かが私に何がうまくいかなかったのかアドバイスしてもらえますか? 前もって感謝します。