Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/340.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
Java 如何将本地计算机上存在的zip文件解压缩到服务器上的分区?_Java_File_Directory_Zip_Extract - Fatal编程技术网

Java 如何将本地计算机上存在的zip文件解压缩到服务器上的分区?

Java 如何将本地计算机上存在的zip文件解压缩到服务器上的分区?,java,file,directory,zip,extract,Java,File,Directory,Zip,Extract,我在本地计算机上的C:\tem\test目录中有一个zip文件。我想在服务器上的新目录中提取它,该目录应该与zip文件同名。我怎么做 class UnZipFile { final static File source = new File("C:\\tmp\\test\\R1112B2_BcfiHtm.zip"); public static void getZipFiles() { try { String destination ="U:\\root\\intra

我在本地计算机上的C:\tem\test目录中有一个zip文件。我想在服务器上的新目录中提取它,该目录应该与zip文件同名。我怎么做

class UnZipFile {
final static File source = new File("C:\\tmp\\test\\R1112B2_BcfiHtm.zip");

public static void getZipFiles() {
    try {
        String destination ="U:\\root\\intranet\\res\\fi\\test";
        byte[] buf = new byte[1024];
        ZipInputStream zipinputstream = null;
        ZipEntry zipentry;
        zipinputstream = new ZipInputStream(
                new FileInputStream(source));

        zipentry = zipinputstream.getNextEntry();
        while (zipentry != null) {
            //for each entry to be extracted
            String entryName = zipentry.getName();
            System.out.println("entryname " + entryName);
            int n;
            FileOutputStream fileoutputstream;
            File newFile = new File(entryName);
            String directory = newFile.getParent();

            if (directory == null) {
                if (newFile.isDirectory())
                    break;
            }

            fileoutputstream = new FileOutputStream(
                    destination + entryName);

            while ((n = zipinputstream.read(buf, 0, 1024)) > -1)
                fileoutputstream.write(buf, 0, n);

            fileoutputstream.close();
            zipinputstream.closeEntry();
            zipentry = zipinputstream.getNextEntry();

        }//while

        zipinputstream.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
}

我得到以下异常:
java.io.FileNotFoundException:C:\tmp\test\destatn\1000100\u FormDem\u NS\u NL.pdf(系统找不到指定的路径)

您的代码显示您想提取zip文件,而您的错误是说它正在查找某个pdf文件,这是如何可能的?您是否验证了,源文件是否存在且可读?旁注:在
if(newFile.isDirectory())中中断
您真的想结束循环还是跳过该zip条目(在这种情况下,您需要
继续;
而不是
中断;
)?另外:您可以发布该行(或标记它,注意我们不会计算行数)您在上遇到异常?我的zip文件包含文件和目录。如果zip的内容包含目录,我想创建目录,如果不只是创建文件。