2015-11-06 3 views
0

Я пытаюсь разархивировать файлы, и мне было рекомендовано использовать утилиту unzip от codeJava.net, но я не могу заставить ее работать. Ниже приведен фрагмент моего кода, который появляется при нажатии кнопки.Ошибка распаковки файла с помощью javaFX

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, чтобы выбрать файл, затем повернуть путь к файлу в строки перед использованием в unzipper объекта. Вы можете найти утилиту Unzip по адресу 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) 

Спасибо за любую помощь.

+0

'FileNotFoundException: F: \ EbookReader \ Новая папка \ 1.txt (система не может найти указанный путь)' Вы проверили если этот файл действительно существует в этом пути? – Stefan

+0

thx для быстрого ответа; существует папка EBookReader \ books, но «Новая папка/1.txt - это то, что находится внутри первоначального адресата. Утилита unzip (im im sure) предназначена для извлечения этих файлов. –

+0

Вам нужно использовать всю трассировку стека. угадав, что 1.txt находится в вашем zip-файле и он не может записать файл. Существует ли «новая папка»? – matt

ответ

0

Так что в основном у unzipUtility, который я использовал, была фатальная ошибка ... он не мог распаковать папки. Итак, я сделал быстрый поиск в Google и нашел: http://www.mkyong.com/java/how-to-decompress-files-from-a-zip-file/ Его работа не только работает, но и ее легче понять, что особенно полезно для нуба, подобного мне. Thx для всех вас, кто прокомментировал это, действительно помог мне направить меня в правильном направлении :)

Смежные вопросы