Помогите Ну ни в какую не хочет распаковывать.

  • Автор темы Автор темы xDark
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

xDark

Активный участник
Пользователь
Баллы
96
Здравствуйте форум.
Недавно столкнулся с проблемой распаковки файлов из Jar архива.
Так вот ни в какую не хочет, выдает постоянно ошибку при попытке этот самый файл скопировать.
Код:
     private InputStream getResourceAsStream(String name) {
         return getClass().getClassLoader().getResourceAsStream( name );
     }
    private void extract() {
        File folder = new File(File.separator.concat("plugins").concat(File.separator).concat("icJukeBox").concat(File.separator));
        if (!folder.exists()) {
            this.getLogger().warning("Jar not found! Unpacking...");
            File jar = new File(File.separator.concat("plugins").concat("icJukeBox-v1.6.1.jar"));
             if (!jar.exists()) {
                 try (InputStream in = getResourceAsStream("icJukeBox-v1.6.1.jar")) {
                     Files.copy(in, jar.toPath());
                     } catch (IOException ioExc) {
                         getLogger().log(Level.SEVERE, "Error while extracting jar file", ioExc);
                     }
             }
         }
    }
}
Ошибка в строчке:
Код:
                   Files.copy(in, jar.toPath());
Так вот, как это исправить, или копировать файл как - то по-другому.
Заранее спасибо.
 
А сама ошибка то?
 
> The method copy(InputSupplier<? extends InputStream>, File)
> not applicable for the arguments (InputStream, Path)

Так же можешь использовать FileUtils.copyInputStreamToFile(InputStream, File)

Java:
File file = new File(this.getDataFolder().getAbsolutePath() + ".." + File.separator, "plugin.jar");
if (!file.exists()) {
    try {
        FileUtils.copyInputStreamToFile(this.getResource("plugin.jar"), file);
    } catch (IOException ex) {
        this.getLogger().log(Level.WARNING, "Failed to copy plugin", ex);
    }
}

либо saveResource(String)
 
Последнее редактирование:
> The method copy(InputSupplier<? extends InputStream>, File)
> not applicable for the arguments (InputStream, Path)

Так же можешь использовать FileUtils.copyInputStreamToFile(InputStream, File)

Java:
File file = new File(this.getDataFolder().getAbsolutePath() + ".." + File.separator, "plugin.jar");
if (!file.exists()) {
    try {
        FileUtils.copyInputStreamToFile(this.getResource("plugin.jar"), file);
    } catch (IOException ex) {
        this.getLogger().log(Level.WARNING, "Failed to copy plugin", ex);
    }
}

либо saveResource(String)
Спасибо.
 
Статус
Закрыто для дальнейших ответов.
Назад
Верх