Как использовать mkdir, и rmdir управляет в программе Java

Я хочу использовать системные команды как mkdir и rmdir при запущении программы Java.

Как я могу сделать это?

6
задан Anderson Green 15 September 2013 в 23:46
поделиться

4 ответа

Почему вы хотите использовать командную строку? К вашему сведению, существуют встроенные платформенно-независимые классы File .

http://www.exampledepot.com/egs/java.io/deletefile.html
http://www.roseindia.net/java/beginners/java-create-directory.shtml

Сделать directory:

new File("dir path").mkdir();

Удалить каталог:

new File("dir path").delete(); 

«новый файл» здесь немного неправильное название, это фактически не создает каталог или файл. Он создает ловушку ресурсов Java, которую вы можете использовать для запроса или работы с существующим ресурсом файловой системы или для создания нового по вашему запросу. В противном случае используйте Runtime.getRuntime (). Exec («здесь командная строка») для использования операций командной строки (не рекомендуется !!).

Правка: устранена проблема, с которой столкнулся плакат с вопросом:

String envp[] = new String[1];
envp[0] = "PATH=" + System.getProperty("java.library.path");
Runtime.getRuntime().exec("command line here", envp);

Обратите внимание на вставку envp в вызов метода exec (..) , который по сути является PATH переменная из окружения.

14
ответ дан 8 December 2019 в 04:29
поделиться

Лучше не искать, а найти чистый Java API функция, которая это делает. Он чище, проще для понимания и гораздо менее подвержен ошибкам. Кроме того, это единственный способ сделать Java - писать один раз и запускать везде. После того, как вы вызываете команды оболочки, вы привязаны к этой оболочке.

В вашем случае вы ищете класс java.io.File и, в частности, методы mkdir и delete .

3
ответ дан 8 December 2019 в 04:29
поделиться

В Java API есть методы для этого и красиво оформленные реализации в commons-io, которые упрощают процесс дальше.

http://commons.apache.org/proper/commons-io/apidocs/org/apache/commons/io/FileUtils.html

1
ответ дан 8 December 2019 в 04:29
поделиться

Как уже упоминалось, вы не должны делать это для простого управления файлами. Но чтобы упомянуть: Java API имеет класс под названием Runtime , который разрешает системные вызовы ... например:

Runtime.getRuntime().exec("some_command");
4
ответ дан 8 December 2019 в 04:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: