gpt4 book ai didi

blackberry - 在黑莓中解压缩/提取 Zip 文件

转载 作者:行者123 更新时间:2023-12-01 12:52:36 25 4
gpt4 key购买 nike

我有一个包含文件夹的 zip 文件,在文件夹中我有一些图像文件。我希望提取这些图像。但是我找不到任何东西。我一直在查看 zipMe,但一直无法找到查找任何相关帮助。

下面是我到目前为止开发的代码。

    ZipEntry dataZE;
InputStream isData;
StringBuffer sbData;
ZipInputStream dataZIS;

String src = "file:///store/home/user/images.zip";
String path = "file:///store/home/";
String fileName = "";
FileConnection f_Conn;

public UnZipper() {

debugger("Unzipper constructor");

try {
f_Conn = (FileConnection) Connector.open(src);
} catch (IOException e) {
debugger("f_conn error :" + e.getMessage());
}

try {
isData = f_Conn.openInputStream();
} catch (IOException e) {
debugger("f_conn error getting ip_stream:" + e.getMessage());
}

sbData = new StringBuffer();

dataZIS = new ZipInputStream(isData);

debugger("got all thing initialized");

}

public void run() {

debugger("unzipper run");

try {
startUnziping();
} catch (IOException e) {

debugger("Error unzipping " + e.getMessage());
}

debugger("finished...");

}


private void startUnziping() throws IOException {

debugger("startUnziping");
dataZE = dataZIS.getNextEntry();
fileName = dataZE.getName();
writeFile();
dataZIS.closeEntry();

debugger(">>>>>>>>>>> : " + fileName);
}

private void readFile() throws IOException {

debugger("readFile");
int ch;
int i = 0;
while ((ch = dataZIS.read()) != -1) {

debugger((i++) + " : " + sbData.toString()
+ " >>> writting this..");
sbData.append(ch);
}

}

private void writeFile() {

debugger("writting file...");
FileConnection f_Conn = null;
byte[] file_bytes = new byte[sbData.length()];
file_bytes = sbData.toString().getBytes();

try {
readFile();
} catch (IOException e) {
debugger("Error while reading " + e.getMessage());
}

try {
f_Conn = (FileConnection) Connector.open(path + fileName);
} catch (IOException e) {
debugger("getting f_conn" + e.getMessage());
}

if (!f_Conn.exists()) {
// create the file first
debugger("I know file does not exists");
try {
f_Conn.mkdir();
} catch (IOException e) {
debugger("Oops!!! error creating fle : " + e.getMessage());
}
}
try {
f_Conn.setWritable(true);
debugger("file is nt writeable");
} catch (IOException e) {
debugger("cannot make it writeable : " + e.getMessage());
}
OutputStream lo_OS = null;
try {
lo_OS = f_Conn.openOutputStream();
debugger("got out Stream hero!!!");
} catch (IOException e) {
debugger("cant get out Stream !!!");
}
try {
lo_OS.write(file_bytes);
debugger("yess...writtent everything");
} catch (IOException e) {
add(new LabelField("Error writing file ..." + e.getMessage()));
}
try {
lo_OS.close();
debugger("now closing connection...");
} catch (IOException e) {
debugger("error closing out stream : " + e.getMessage());
}

}
}

我已经能够获得代表包含图像的文件夹的 ZipEntry,但是我无法弄清楚我必须如何提取这些图像。

感谢您的帮助。

最佳答案

startUnzipping 中遍历 zip 文件中的所有 ZipEntry(您只处理代码中的第一个)。子文件对应的项目名称应为“文件夹名/文件名”。

关于blackberry - 在黑莓中解压缩/提取 Zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11290051/

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