Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查Gzip中的文件是否是JAVA中的Xml?_Java_Xml_File_Content Type_Apache Tika - Fatal编程技术网

检查Gzip中的文件是否是JAVA中的Xml?

检查Gzip中的文件是否是JAVA中的Xml?,java,xml,file,content-type,apache-tika,Java,Xml,File,Content Type,Apache Tika,如何在java中检查GZip归档文件中的文件是否为XML文件?因为我尝试了这个,但得到了错误: java.lang.NullPointerException 位于org.apache.tika.io.TikaInputStream.get(TikaInputStream.java:265) 您真的需要查看文件内容吗?无法仅检查文件扩展名?是。因为我的gzip中的文件没有扩展名,所以您使用的是什么版本的Apache Tika?如果不是最新版本,升级时会发生什么?相同的错误。我不知道为什么tae.g

如何在java中检查GZip归档文件中的文件是否为XML文件?因为我尝试了这个,但得到了错误:

java.lang.NullPointerException 位于org.apache.tika.io.TikaInputStream.get(TikaInputStream.java:265)


您真的需要查看文件内容吗?无法仅检查文件扩展名?是。因为我的gzip中的文件没有扩展名,所以您使用的是什么版本的Apache Tika?如果不是最新版本,升级时会发生什么?相同的错误。我不知道为什么tae.getFile()为null,因为当我生成tae.getSize()时,它返回我:5600。您真的需要查看文件内容吗?无法仅检查文件扩展名?是。因为我的gzip中的文件没有扩展名,所以您使用的是什么版本的Apache Tika?如果不是最新版本,升级时会发生什么?相同的错误。我不知道为什么tae.getFile()为空,因为当我生成tae.getSize()时,它返回我:5600。
public static boolean presenceFichierXmlDansArchiveGzip (final File fichier)  {

    try (final FileInputStream fis = new FileInputStream(fichier);
         final GzipCompressorInputStream gzIn = new GzipCompressorInputStream(fis);
         final TarArchiveInputStream tais = new TarArchiveInputStream(gzIn)) {
        for (TarArchiveEntry tae = tais.getNextTarEntry(); tae != null; tae = tais.getNextTarEntry()) {
            if (tae.isFile()) {
                Tika tika = new Tika();
                String contentType = tika.detect(tae.getFile());
                System.out.println("contentType : "+ contentType + ",Name :"+tae.getName());
                if (!StringUtils.containsIgnoreCase(contentType, FICHIER_XML)) {
                    return false;
                }
            }

            }

        }
    catch (IOException e){
        LOGGER.error("Erreur lors de l'appel de la fonction presenceFichierXmlDansArchiveGzip " + e);
    }


    return true;
}