Java и Ма c ОС java -жар - PullRequest
       6

Java и Ма c ОС java -жар

0 голосов
/ 23 апреля 2020

Я создал приложение java для разбора фильмов с библиотекой mediainfo. На Windows ОС работает хорошо. В ОС Ma c: если mov ie находится на внешнем диске, он тоже хорошо работает, но если mov ie находится на "HD MA C" (например, на рабочем столе или в папке Download), он не ' t работа.

Теперь, если я запускаю свое приложение с терминальной командой java -jar <myApp.jar>, все работает, где бы ни сохранялся mov ie. В чем разница между java -jar <myApp.jar> и двойным кликом на .jar для запуска приложения?

Спасибо.

, если я запускаю с java -jar, у меня ошибка

Exception in thread "AWT-EventQueue-0" java.lang.NoSuchMethodError: java.nio.ByteBuffer.clear()Ljava/nio/ByteBuffer;
        at addon.TorrentProcessor.generatePieceHashes(TorrentProcessor.java:361)
        at addon.TorrentProcessor.generatePieceHashes(TorrentProcessor.java:375)

это строки

public void generatePieceHashes(TorrentFile torr) {
        ByteBuffer bb = ByteBuffer.allocate(torr.pieceLength);
        int index = 0;
        long total = 0;
        torr.piece_hash_values_as_binary.clear();
        for (int i = 0; i < torr.name.size(); i++) {
            total += (Integer) torr.length.get(i);//
            File f = new File((String) torr.name.get(i));
            if (f.exists()) {
                try {
                    FileInputStream fis = new FileInputStream(f);
                    int read = 0;
                    byte[] data = new byte[torr.pieceLength];
                    while ((read = fis.read(data, 0, bb.remaining())) != -1) {
                        bb.put(data, 0, read);
                        if (bb.remaining() == 0) {
                            torr.piece_hash_values_as_binary.add(Utils.hash(bb.
                                    array()));
                            bb.clear(); // the error is here
                        }
                    }
                } catch (FileNotFoundException fnfe) {} catch (IOException ioe) {}
            }
        }
        if (bb.remaining() != bb.capacity())
            torr.piece_hash_values_as_binary.add(Utils.hash(Utils.subArray(
                    bb.array(), 0, bb.capacity() - bb.remaining())));
    }

иначе, если я запускаю с двойным щелчком без ошибок. ?????

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...