Pull to refresh

Comments 14

столько кода, чтобы в итоге запустить df -h? о_О

как хорошо, что я не пишу на джаве :)
ну джава тут особо не причём
вобще есть же нормальные способы: stat, fstat, lstat
man 2 stat
чтобы понять как это делает df можно посмотреть его исходники или проще — strace df

p.s. скоро чтобы записать в файл будем запускать echo
верно, все зависит от используемого инструмента — например, тот же echo в bash скриптах — основной инструмент записи в файл.
использование вызова df может быть оправдано в данном случае, но только потому, что требуется кроссплатформенность. А в df очень много хитростей платформозависимых.
Но тогда следовало и статью назвать в стиле «как-запустить-внешнюю-программу-по-unix-на-джаве-и-отпарсить-результат».
Почитал ман по стату, не понимаю как он связан со свободным местом и присоединенными разделами, он используется для получения информации о файле, или я чего не дочитал?
Вынужден согласиться — так было бы правильнее.
Видимо, было не достаточно опыта.
В любом случае, как оказалось, в 1.6 для этого есть встроенные средства.
Зря выкладывал, думал людям поможет. :(
Просто обычно стараюсь писать код так, чтобы его потом было легко и просто использовать повторно.
Неужели Java не представляет никаких встроенных средств для кроссплатформенной проверки свободного места?
я может что-то упустил, но почему не подошел такой вариант:

java.io.File file = new java.io.File(«/var/log»);
file.getTotalSpace();
file.getFreeSpace();
file.getUsableSpace();
Не знаю как в 1.6, но в 1.4 и 1.5 таких методов java.io.File не поддерживал.
Кроме этого, мне, при написании задачи, все равно требовалось получать список подключенных
партишинов, т.к. бекап сереверов было несколько и с разным к-вом хардов.
угу, смотрел, это новшество 1.6
Sign up to leave a comment.

Articles