有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java Mkdir在尝试使用JTar解压时不起作用

我正在尝试实现一个文件解压缩功能。下面是我使用JTar编写的代码

    private void untar(String tarFile, String destFolder) throws IOException {
            TarInputStream tis = new TarInputStream(new BufferedInputStream(new FileInputStream(tarFile)));
            TarEntry entry;
            while (( entry = tis.getNextEntry() ) != null) {
                System.out.println( "Extracting: " + entry.getName() );
                int count;
                byte data[] = new byte[2048];

                if (entry.isDirectory()) {
                    new File( destFolder + "/" + entry.getName() ).mkdirs();
                    continue;
                } else {
                    int di = entry.getName().lastIndexOf( '/' );
                    System.out.println("File"+di);
                    if (di != -1) {
                        File f = new File( destFolder + "/" + entry.getName().substring( 0, di ) );
                        if(f.mkdirs())
                            System.out.println(f.isDirectory());
                    }
                }

                FileOutputStream fos = new FileOutputStream( destFolder + "/" + entry.getName() );
                BufferedOutputStream dest = new BufferedOutputStream( fos );

                while (( count = tis.read( data ) ) != -1) {
                    dest.write( data, 0, count );
                }

                dest.flush();
                dest.close();
            }
            tis.close();
        }

当我点击mkdirs()部分并尝试创建目录时,它不会这样做,并且在if语句之后,在控制台上看不到任何输出

这可能是FileOutputStream的后续代码显示IOexception而不是目录的原因

我在任何地方都找不到解决这个问题的办法


共 (0) 个答案