gpt4 book ai didi

java - 如何使用扫描仪检查Zip文件是否由CSV或其他类型的JAVA文件压缩?

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

我正在尝试使用扫描仪逐行读取ZipInputStream,下面是我的代码

                    ZipInputStream inputStream = new ZipInputStream(bodyPartEntity.getInputStream());
inputStream.getNextEntry();
Scanner sc = new Scanner(inputStream);
while (sc.hasNextLine()) {
log.info(sc.nextLine());
}

而且效果很好。

但我有一个问题,如果用户将图像或不同类型的文件(不是 CSV)压缩为 Zip 会怎样。有没有一种方法可以检查这一点,以便我可以抛出异常?另外,有没有办法读取下一个文件

目前,如果我压缩了多个文件,我只能读取一个文件。然后 sc.hasNextLine() 将等于 false。

无论如何,我可以读取下一个文件吗?

最佳答案

你应该像这样循环你的zip文件:

ZipEntry entry;
while((entry = inputStream.getNextEntry())!=null){
// do your logic here...
// for example: entry.getName()
}

对于文件类型,您可以在 while 循环内使用类似的内容:

MimetypesFileTypeMap mtft = new MimetypesFileTypeMap();
String mimeType = mtft.getContentType(entry.getName());
System.out.println(entry.getName()+" type: "+ mimeType);

祝你编码愉快!

关于java - 如何使用扫描仪检查Zip文件是否由CSV或其他类型的JAVA文件压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57341510/

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