如何在Java中调试`FileNotFoundException`?

时间:2018-11-22 13:50:37

标签: java

输出:

文件解压缩:F:\ folder1 \ extracted \ f

文件解压缩:F:\ folder1 \ extracted \ f \ 导入令牌身份验证API_6-27_2017_2.xlsx的副本

  

java.io.FileNotFoundException:F:\ folder1 \ extracted \ f \导入副本   令牌身份验证API_6-27_2017_2.xlsx(系统无法   找到指定的路径)

     

在java.io.FileOutputStream.open(本机方法)在   java.io.FileOutputStream。(FileOutputStream.java:221)在   java.io.FileOutputStream。(FileOutputStream.java:171)在   com.app.util.ZipExtractor.unZipIt(ZipExtractor.java:46)在   com.app.util.ZipExtractor.main(ZipExtractor.java:19)

代码

 package com.app.util;

 import java.io.File;

 import java.io.FileInputStream;

 import java.io.FileOutputStream;

 import java.io.IOException;

 import java.util.zip.ZipEntry;

 import java.util.zip.ZipInputStream;

 public class ZipExtractor {

private static final String INPUT_ZIP_FILE = "F:\\folder1\\f.zip";

 private static final String OUTPUT_FOLDER = "F:\\folder1\\extracted";

 public static void main(String[] args) {

     ZipExtractor ze = new ZipExtractor();

     ze.unZipIt(INPUT_ZIP_FILE, OUTPUT_FOLDER);

 }
 public void unZipIt(String zipFile, String outputFolder){

     byte[] buffer = new byte[1024];

     try{

        File folder = new File(OUTPUT_FOLDER);
        if(!folder.exists()){
            folder.mkdir();
        }
        ZipInputStream zis = new ZipInputStream(new FileInputStream(zipFile));

        ZipEntry ze = zis.getNextEntry();

        while(ze!=null){

           String fileName = ze.getName();

           File newFile = new File(outputFolder + File.separator + fileName);

           System.out.println("file unzip : "+ newFile.getAbsoluteFile());

            new File(newFile.getParent()).mkdirs();

            FileOutputStream fos = new FileOutputStream(newFile);             

            int len;

            while ((len = zis.read(buffer)) > 0) {

                fos.write(buffer, 0, len);

            }

            fos.close();   

            ze = zis.getNextEntry();
        }

        zis.closeEntry();

        zis.close();

        System.out.println("Done");

    }
     catch(IOException ex){

         ex.printStackTrace();

    }

   }

}

enter image description here 给定的图像显示了文件夹folder1内的文件夹层次结构

enter image description here 通过给定的图像可以知道f.zip中已压缩了哪些文件

1 个答案:

答案 0 :(得分:0)

不确定这是拼写错误还是与该问题有关,但是空白有所不同。我先来看这里,尝试解决问题。来自System.out的行文件upzip在目录名称f之后的反斜杠之后,在Copy中的C之前具有空格字符,而例外情况并非如此。

文件解压缩:F:\ folder1 \ extracted \ f \导入令牌身份验证API_6-27_2017_2.xlsx的副本

java.io.FileNotFoundException:F:\ folder1 \ extracted \ f \导入令牌身份验证API_6-27_2017_2.xlsx的副本(系统找不到指定的路径)