1. Java / Говнокод #14500

    +139

    1. 1
    public boolean mkdir()

    Creates the directory named by this abstract pathname.
    Returns: true if and only if the directory was created; false otherwise


    P.S. В java.nio сделали адекватную функцию, еще один гвоздь в крышку гроба шестерки.

    Запостил: bormand, 04 Февраля 2014

    Комментарии (45) RSS

    • Почему адекватное? Убрали исключение?
      Ответить
      • Убрали сраный bool, из-за которого нельзя отличить "папка уже есть" от "нету родительской папки" и "нету прав на создание папки".

        Даже в сишке я мог это отличить. А в жабе - только с седьмой версии.
        Ответить
        • а аналога getlasterror нету?
          Я не подкалываю, просто собираюсь изучать Java/
          Ответить
        • ну как бы в жабе исторически был реализован самый абстрактый (и как следствие минимальный) интерфейс ко всему чему только можно. а вдруг эти каталоги создаются не на файловой системе? а вдруг это вообще не каталоги?? а вдруг это все страшный сон??? меня вот такая ихняя логика в свое время и повадила забить на жабу и пойти на С/С++. только в питоне (по моему скромному опыту) портабельность правильно сделана: рабоаешь на виндах? - вот тебе виндовые фишечки, работаешь на юнихах? - вот тебе юниховы шишечки, работаешь на маках? - вот тебе маковы побрякушки.
          Ответить
          • Ну вот в java.nio в семерке они же все-таки взялись за ум, и переписали всю эту хрень с нуля: createDirectory там разные исключения кидает в разных случаях. И появился createTempDirectory, чтобы говно из соседнего топика не велосипедили... И права на файлы можно менять (правда под линухой только модель user-group-other, ACL'ы почему-то не понимает).
            Ответить
            • > правда под линухой только модель user-group-other, ACL'ы почему-то не понимает

              ты уверен что это жаба?

              на линухе IIRC ACL это опция которую надо отдельно включать. по умолчанию ACL вроде бы отключён.

              PS

              https://access.redhat.com/site/documentation/en-US/Red_Hat_Certificate_System/8.1/html/Admin_Guide/posix-acls.html
              Ответить
              • > на линухе IIRC ACL это опция которую надо отдельно включать
                Конечно включена. setfacl'ом настройки выставляются, и потом их видно getfacl'ом.

                > ты уверен что это жаба?
                supportsFileAttributeView для AclFileAttributeView.class возвращает false на всех точках монтирования. Работают только UserDefinedFileAttributeView и PosixFileAttributeView.

                Может быть это ОПЕНЖДКПРОБЛЕМЫ, а на оракловском пакете все работает?
                Ответить
                • На оракловом жре (x64 server) то же самое, значит не судьба...
                  Ответить
              • Вот еще что пишут в мане: AclFileAttributeView – Supports reading or updating a file's Access Control Lists (ACL). The NFSv4 ACL model is supported. Any ACL model, such as the Windows ACL model, that has a well-defined mapping to the NFSv4 model might also be supported.

                Но ведь posix acl != nfsv4 acl. Походу поэтому и не работает.
                Ответить
                • Пипец. NFS держат, а локальные и кластерные файловые системы нет. Какое-то убожество.
                  Ответить
          • показать все, что скрытоУдалено администрацией.
            Ответить
          • >ну как бы в жабе исторически был реализован самый абстрактый (и как следствие минимальный) интерфейс ко всему чему только можно.
            Тот самый жава стайл.

            >только в питоне (по моему скромному опыту) портабельность правильно сделана: рабоаешь на виндах? - вот тебе виндовые фишечки, работаешь на юнихах? - вот тебе юниховы шишечки, работаешь на маках? - вот тебе маковы побрякушки.
            Ты ебанулся? Как под виндой поставить через пакетный менджер бинарный пакет?
            Ответить
    • В Яве практически во всех методах стандартных объектов возвращаемые значения невменяемые: добавление / удаление из коллекций только чего стоит.
      Ответить
    • В Qt такая же хрень:
      bool QDir::mkdir ( const QString & dirName ) const
      Ответить
      • Ага, да в Qt половина интерфейсов с жабы слизана.
        Ответить
        • может быть. но в Qt & C++, если надо больше, ты всегда можешь сделать #ifdef _WIN32/__unix__ + #include <win32.h>/<sys/stat.h> + нативный мкдир() - а для все остального пользоватся Qt-шным абстрактным портабельным интерфейсом.
          Ответить
          • Или написать asm{}, если очень захочется.
            Ответить
            • тогда уж сразу объектный код ручками собраный.
              Ответить
              • asm {
                db 0C3h
                }
                Ответить
                • синтакс неправильный:

                  asm(".byte 0xea, 0xff, 0xff, 0xff, 0, 0, 0");
                  Ответить
                  • Вельми понеже, весьма вами благодарен.
                    Только вот я привык к еретической версии борландского билдера, а в нём всё именно так и обстоит. И этот опкод себе вполне вставился в качестве ret. Сейчас я ради интереса финализатор функции вытащил из отладчика, перевернул порядок, вставил через db в такой блок и всё работает.
                    А так, паки-паки, иже херувимы. Языками не владею, ваше благородие.
                    Ответить
    • Нет-нет, это вовсе не больно. Я всего навсего поставлю пару минусов...
      Ответить
      • Не останавливайся, мой юный анонимный друг, продолжай. У тебя впереди еще 8 страниц увлекательнейшей работы ;)

        Когда-нибудь, когда ты станешь взрослым, ты поймешь, что все эти плюсы, минусы и старые посты совершенно ничего не значат. Самое главное на этом сайте, да и на других тоже - это общение с интересными людьми, обмен опытом, новые контакты...

        Если бы ты это делал под своим ником - тебе бы хоть слава Герострата досталась. А так - через пару недель о тебе просто забудут. Неужели не жалко впустую потраченного времени?
        Ответить
        • А прикинь он заминусует в все говнокоды на сайте. Сайт будет повержен. Просто опустеет.
          Ответить
          • > Сайт будет повержен. Просто опустеет.
            А потом страйко проснется и откатит бекап. И все будет по-прежнему. И все забудут о так и не пришедшем к успеху последователе Герострата. И только наш юный друг, который настолько труслив и ничтожен, что даже боится юзать псевдоним во время своих мелких шалостей, будет биться лбом об клавиатуру думая о бессмысленности своего существования...
            Ответить
            • Ошибаешься. Ты вспомнишь о моих "маленьких шалостях" уже через пару часов.
              Ответить
              • Через пару часов я буду мирно похрапывать и смотреть сон ;)
                Ответить
                • А ты не боишься, что он возьмет бота у Страпона? Ведь тогда ему будет достаточно минусовать все подряд с помощью своего бота.
                  Ответить
                  • И пусть страйко хоть заоткатывается.
                    Ответить
                    • Страйко - это андрей пионтковский? Он хуй на вас забил.
                      Ответить
        • Ты лишил меня всего этого, но это не принесет тебе радости. Самое обидное, что из-за двух зарвавшихся идиотов страдает весь форум, но это это не моя вина. Прошу винить вышеподписавшегося человека. И еще. Не стоит выставлять себя добрым самарянином: я тебе не верю. А теперь пошел на хуй.
          Ответить
          • > страдает весь форум
            Лол, кто-то убрал с главной несколько постов (которые при этом никуда не делись) и написал несколько сообщений, вручную вводя капчу. Конечно, весь сайт плачет и страдает.
            Ответить
          • >из-за двух зарвавшихся идиотов страдает весь форум
            Одного же. Стертора.
            Ответить
            • http://bdum.ru/img/uploads/questions/14ba0-2.jpg

              Это лицо ужаса. Вглядитесь и запомните.
              Таким ужасом буду я для вашего форума.
              Ответить
              • Опиши рисунок словами плиз, не хочу ходить по ссылкам от гостей на неизвестные мне домены.
                Ответить
                • Там не гоатсе.
                  Ответить
                  • Да всяко там какая-нибудь крипота, или пидорасы... Не хочу перед сном смотреть такие рисунки.
                    Ответить
                    • Каким сном? Еще спокойной ночи малыши не показались.
                      Ответить
                      • Есть такое понятие, как часовые пояса ;) Ваш кэп.
                        Ответить
                • Там то же, что и на http://upload.wikimedia.org/wikipedia/ru/3/3f/Мунк_Крик.jpg
                  Ответить

    Добавить комментарий