• Как переписать этот код с python на java?

    leahch
    @leahch
    3D специалист. Dолго, Dорого, Dерьмово.
    Прямого аналога конечно же нет. В java для парсинга потока используется ( обычно) ByteBuffer.
    https://www.baeldung.com/java-bytebuffer
    Ответ написан
    Комментировать
  • Как запустить майнкрафт из Intellij idea?

    @Elige
    Импорты
    import java.io.File;
    import java.lang.reflect.Method;
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.net.URLClassLoader;
    import java.util.ArrayList;
    import java.util.List;


    Методы
    public static void LaunchMinecraft() {
        String nickname = "Kats555";
        String Class = "net.minecraft.client.main.Main";
    
        List < URL > url = new ArrayList < URL > ();
    
        File Dir = new File(".");
    
        System.out.println("Путь до папки с клиентом -> " + Dir.getAbsolutePath());
    
        if (!new File(Dir.getAbsolutePath() + "/natives").exists()) new File(Dir.getAbsolutePath() + "/natives").mkdirs(); //Папка с нативами
    
        try {
          url.addAll(getLibs(new File(Dir.getAbsolutePath() + "/versions"))); //Папка с клиентом
          url.addAll(getLibs(new File(Dir.getAbsolutePath() + "/libraries"))); //Папка с либами
        } catch (Exception x) {
          System.out.println("Неправильный путь к клиенту");
        }
    
        URLClassLoader cl = new URLClassLoader(url.toArray(new URL[url.size()]));
    
        System.out.println("Список загруженных jar ->" + url);
        System.setProperty("fml.ignoreInvalidMinecraftCertificates", "true");
        System.setProperty("fml.ignorePatchDiscrepancies", "true");
        System.setProperty("org.lwjgl.librarypath", Dir.getAbsolutePath() + "/natives");
        System.setProperty("net.java.games.input.librarypath", Dir.getAbsolutePath() + "/natives");
        System.setProperty("java.library.path", Dir.getAbsolutePath() + "/natives");
    
        List < String > params = new ArrayList < String > ();
    
        try {
          cl.loadClass("com.mojang.authlib.Agent");
          params.add("--accessToken");
          params.add("1");
          params.add("--uuid");
          params.add("12345");
          params.add("--userProperties");
          params.add("{}");
          params.add("--assetIndex");
          params.add("1.7.10");
        } catch (ClassNotFoundException x) {
          params.add("--session");
          params.add("1");
        }
        params.add("--username");
        params.add(nickname);
        params.add("--version");
        params.add("1.7.10");
        params.add("--gameDir");
        params.add(Dir.getAbsolutePath() + "/");
        params.add("--assetsDir");
        params.add(Dir.getAbsolutePath() + "/assets");
    
        try {
          Class < ? > start = cl.loadClass(Class);
          System.out.println("Запуск клиента");
          Method main = start.getMethod("main", new Class[] {
            String[].class
          });
          main.invoke(null, new Object[] {
            params.toArray(new String[0])
          });
        } catch (Exception x) {
          System.out.println(x);
        }
    
      }
    
      private static List < URL > getLibs(File libsfolder) throws MalformedURLException {
        List < URL > libs = new ArrayList < URL > ();
        if (!libsfolder.exists()) libsfolder.mkdirs();
        for (File file: libsfolder.listFiles()) {
          if (file.isDirectory()) {
            libs.addAll(getLibs(file));
          } else {
            if (file.getName().endsWith(".jar")) {
              libs.add(file.toURI().toURL());
            }
          }
        }
        return libs;
      }
    Ответ написан
  • Как установить 0760 права на файл в java через smb?

    akelsey
    @akelsey
    Протокол SMB ничего не знает о файловых системах линукс и правах user/group/owner. Короткий вероятный ответ - никак. Если SMB развернута на Linux, то это администратору следует поменять опцию umask, что бы вновь созданному файлу по протоколу SMB на файловой системе где запущена самба - выставлялись нужные права.
    А если речь о CIFS на Windows сервере, то тогда никак. (Если допускаем что Windows-server использует NTFS и никаких других костылей)
    Ответ написан
    Комментировать
  • Почему не отрабатывается первое условие?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    if(year >= 10000 && year <= 0)
    Тут написано: если год больше или равен 10000 И год меньше или равен 0
    Никакое число не может быть больше 10000 и меньше 0 одновременно.
    Ответ написан
    1 комментарий
  • Можно ли поставить свою выходную ноду?

    ValdikSS
    @ValdikSS
    Опции ExitNodes в конфигурационном файле torrc нужно задать значение фингерпринта вашей ноды.
    Ответ написан
    Комментировать
  • Почему медленно скачиваются файлы в Manjaro Cinnamon?

    @rPman
    Если замерить скорость на speedtest, то выдаёт 800-900 Mbps
    повыбирай сервера в speedtest, находящиеся в разных странах, начнешь понимать что скорость в интернете штука условная и зависит от кучи вещей

    Кстати speedtest показывает скорость в мегабитах, а при копировании файла в проводнике - в мегабайтах, эти единицы измерения отличаются в 8 раз (в байте - 8 бит)

    Тут важны и расстояние, и провайдеры, включая того у кого размещен файл, и настройки сервера и его текущая нагрузка.

    p.s. в современных реалиях 2мбайта/с это даже хорошая скорость
    Ответ написан
    Комментировать
  • Как вывести количество слов одной длины в строке?

    @TurboKaban
    попробуйте сплитом разбить строку в массив, дальше в хэшмапу, у которой ключ это длина слова, а value это счетчик. Только я условие задачи не понял, поэтому в моем примере из мапы печатаю длину слова и количество слов этой длины

    String myStr = "aaa as dsr asf 33";
            String s[] = myStr.split(" ");
            Map<Integer, Integer> map = new HashMap();
            for (int i = 0; i < s.length; i++) {
                int l = s[i].length();
                map.put(l, map.containsKey(l) ? map.get(l) + 1 : 1 );
            }
            map.forEach((k, v) -> System.out.println( k + ": " + v));
    Ответ написан
    Комментировать
  • Как грепать вывод tcpdump?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    tcpdump -i ens18 -w file.pcap фильтры
    tshark -r file.pcap -T fields -e ip.dst | sort | uniq


    Можно сразу всё сделать wireshark'ом, но у него формат фильтров отличается.
    Ответ написан
    1 комментарий
  • Можно ли зделать свою команду в командной строке linux?

    Vindicar
    @Vindicar
    RTFM!
    1. Добавь в начало файла шебанг, т.е. строку вида
    #!/usr/bin/env python
    Чтобы при запуске файла было понятно, чем его открывать
    2. Переименуй файл в add (без расширения) и сделай его исполняемым командой chmod +x add
    3. Либо помести файл в один из каталогов в переменной окружения PATH, либо добавь каталог, в котором файл лежит, в PATH.
    Загляни в скрытый файл .profile в твоём домашнем каталоге, он как раз этим занимается. Он может быть настроен так, чтобы автоматически добавлять в PATH каталог bin в твоем домашнем каталоге, тогда просто создай этот каталог и закинь файл туда.
    Ответ написан
    Комментировать