gpt4 book ai didi

java - 如何在 Java 中使用 TrueZip API(不解压)获取 TFile 的字节

转载 作者:行者123 更新时间:2023-11-30 06:51:54 25 4
gpt4 key购买 nike

如何读取 zip 存档内的二进制文件(获取字节数组)?我正在使用TrueZip

我的例子:

import de.schlichtherle.truezip.file.TFile;
import java.util.HashMap;

public class Archive {
private final TFile archive;
// String in HashMap represents filename ( eg. MyTextFile.txt )
private final HashMap<String, TFile> entries = new HashMap<>();

public Archive( String path ) {
this.archive = new TFile(path);
this.listEntries( archive.getAbsolutePath() );
}

// lists all files
private void listEntries( String pathToZipFile ) {
TFile archive = new TFile( pathToZipFile );
for ( TFile listFile : archive.listFiles() ) {
if ( listFile.isDirectory() ) {
listEntries(listFile.getAbsolutePath());
} else {
entries.put(listFile.getName(), listFile);
}
}
}

public byte[] getBytes( String key ) {
TFile file = entries.get(key);
// ...

}

我正在寻找类似的东西,但对于 TFile/TPath:

Files.readAllBytes( file.toPath() );

最佳答案

有一个 TPath 类 ( https://truezip.java.net/truezip-path/ ) 和一个用于 NIO.2 文件系统的适配器,所以它非常简单:

Path path = new TPath(new URI("http://acme.com/download/everything.zip/README.TXT"));
byte[] bytes= Files.readAllBytes(path);

关于java - 如何在 Java 中使用 TrueZip API(不解压)获取 TFile 的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42589546/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com