zip/jar エントリをメモリに抽出して、zip ストリーム/FS を閉じ、一時コピーを処理せずにファイルを JVM に保持できるようにしたいと考えています。
1 つのオプションは Files.readAllLines(Path pathToZipFSentry) を使用することですが、大きなファイルに対して多くのペナルティを課す可能性があるバッファ付きリーダーを使用しているようです。
だから私はJava NIO2でそれを行う方法を研究していますが、その方法はFileChannelsを介してMappedByteBufferで終わっているようです。
私は RandomAccessFile.getChannel() を使用できません。これは、リテラル ファイルではなく、仮想ファイル システムのパスから取得したためです。Files.newByteChannel(rscPath, StandardOpenOption.READ) を使用してから (fileChannel.)map() を使用することはできません。これは、インターフェイスでマップを取得していない SeekableByteChannel を返すためです...
Java8 の Path(s)/File(s)/FileSystem(s)/FileChannel(s) による、これに対する 1 つまたは 2 つの高レベルのライナーはありますか? 私は InMemoryFile file = Files.loadIntoMem(Path) のようなものを期待します 私は閉じるオプションを1時間探していました...