1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Получить файл из jar

Тема в разделе "Разработка плагинов для новичков", создана пользователем koliab, 5 окт 2019.

  1. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    upload_2019-10-5_18-26-54.png
     
  2. olezhe

    olezhe Ньюби Пользователь

    Баллы:
    1
    а, я глупенький, не заметил такую бональную пропасть.
    Код:
    public static void unzip(String folder, InputStream stream, String charset) throws IOException {
            ZipInputStream zip = new ZipInputStream(stream, Charset.forName(charset));
            ZipEntry entry = null;
            byte[] buffer = new byte[1024];
            while ((entry = zip.getNextEntry()) != null) {
                String name = entry.getName();
                if (entry.isDirectory()) {
                    new File(name).mkdirs();
                } else {
                    FileOutputStream fos = new FileOutputStream(name);
                    
                    int len;
                    while ((len = zip.read(buffer)) > 0) {
                        fos.write(buffer, 0, len);
                    }
    
                    fos.close();
                }
            }
            zip.close();
        }
    folder - папка
    stream - тот стрим, который получается методом, который тебе показывал
    charset - кодировка
     
  3. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    фолдер не где не юзается
     
  4. olezhe

    olezhe Ньюби Пользователь

    Баллы:
    1
    Код:
    public static void unzip(String folder, InputStream stream, String charset) throws IOException {
            ZipInputStream zip = new ZipInputStream(stream, Charset.forName(charset));
            ZipEntry entry = null;
            byte[] buffer = new byte[1024];
            while ((entry = zip.getNextEntry()) != null) {
                String name = entry.getName();
                if (entry.isDirectory()) {
                    new File(folder+name).mkdirs();
                } else {
                    FileOutputStream fos = new FileOutputStream(folder+name);
                    
                    int len;
                    while ((len = zip.read(buffer)) > 0) {
                        fos.write(buffer, 0, len);
                    }
    
                    fos.close();
                }
            }
            zip.close();
        }
     
  5. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    Может вы не правельно поняли

    мне надо что-бы папка с миров "originalworld" которая у меня в проекте при включение сервера копировалась и вставлялась в папку с сервером
     
  6. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Зачем? Мой код полностью рабочий был. К чему было даунгрейдить код на динозавр java ? Да еще и в говно такое превращать.
     
  7. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    што его что вам ошибку только прет
     
  8. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
  9. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Какие ошибки то? Значит пути криво указал. unzip(путь куда распаковать, путь до архива, кодировка архива)
    Мой распаковщик рабочий, я его для себя писал.
     
  10. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    кодировки какие бывают?
     
  11. olezhe

    olezhe Ньюби Пользователь

    Баллы:
    1
    Ну указано же вроде верно в аргументах. Тут, как я думаю, проблема в том, что Java пытается достать всё из папки, где находится spigot.jar. Может такое быть? Вот версия другая этого распаковщика, раз та не угодила.
    Код:
    public static void unzip(String folder, InputStream stream, String charset) throws IOException {
            ZipInputStream zip = new ZipInputStream(stream, Charset.forName(charset));
            ZipEntry entry = null;
            while ((entry = zip.getNextEntry()) != null) {
                if (entry.isDirectory()) {
                    Paths.get(folder+File.separator+entry.getName()).toFile().mkdirs();
                } else {
                    Paths.get(folder+File.separator+entry.getName()).toFile().getParentFile().mkdirs();
                    Files.copy(zip, Paths.get(folder+File.separator+entry.getName()), StandardCopyOption.REPLACE_EXISTING);
                }
            }
            zip.close();
        }
     
  12. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    что не так я делаю? upload_2019-10-5_19-37-7.png
     
  13. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Путь до архива пропиши, а не только название.
     
  14. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    upload_2019-10-5_19-44-9.png
     

    Вложения:

  15. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
  16. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Писец дурачек :D. Тебе сначала нужно его из CastleDefense.jar распаковать куда то.
     
  17. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    шо такое говори :)
     
  18. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    А лучше помести туда папку в джарник, так быстрее.
     
  19. Автор темы
    koliab

    koliab Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    kolia1_1
    а метод какой юзать для этого?
     
  20. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Тот же самый, только с условием, что бы весь плагин не распаковался.
     

Поделиться этой страницей