使用javaFX解压缩文件时出错

时间:2015-11-06 08:27:20

标签: java javafx unzip filechooser

我正在尝试解压缩文件,建议我使用codeJava.net解压缩实用程序然而我无法使其工作。以下是按下按钮时出现的代码片段。

  public void fileSelector(Stage primaryStage) {
    FileChooser fileChooser = new FileChooser();
    fileChooser.setTitle("Open Resource File");
    fileChooser.getExtensionFilters().addAll(new ExtensionFilter("ZIP FILES ONLY", "*.zip"));
    File selectedFile = fileChooser.showOpenDialog(primaryStage);

    if (selectedFile != null) {
      System.out.println(selectedFile);
      UnzipUtility unzipper = new UnzipUtility();
      String destination = System.getProperty("user.dir");
      String finalDestination = destination + "\\books";
      System.out.println(finalDestination);
      String initialDestination = selectedFile.getPath();
      System.out.println(initialDestination);

      try {
        System.out.println("unzipping ... beep boop beep");
        unzipper.unzip(initialDestination, destination);
      }
      catch (Exception e) {
        e.printStackTrace();
      }
    }

它意味着使用JavaFX文件选择器来选择文件,然后在解压缩对象使用之前将文件路径转换为字符串。您可以在http://www.codejava.net/java-se/file-io/programmatically-extract-a-zip-file-using-java找到解压缩实用程序。 这是我得到的错误:

java.io.FileNotFoundException: F:\EbookReader\books\New folder\1.txt (The system cannot find the path specified)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

所以基本上我使用的unzipUtility有一个致命的错误......它无法解压缩文件夹。所以我做了一个快速的谷歌搜索,发现:http://www.mkyong.com/java/how-to-decompress-files-from-a-zip-file/ 它不仅有效,而且更容易理解,这对像我这样的菜鸟特别有用。对于所有评论过的人来说,这真的有助于引导我朝着正确的方向前进:)