2014-02-08 5 views
0

Мне нужно выполнить команду в командной строке с помощью java. Команда работает правильно, когда я ввожу ее в приглашение, и соответственно создается файл tutorial.mallet. Но когда я делаю это через код, ничего не происходит.Каков правильный способ выполнения команды в java

Команда:

C:\mallet> bin\mallet import-dir --input E:\InputFilesForTopicModeling --output E:\Tutorial\tutorial.mallet --keep-sequence --remove-stopwords 

И это мой код

try { 
    Runtime rt=Runtime.getRuntime(); 
    rt.exec("cmd /c"+ "cd mallet"); 
    String export=" bin\\mallet import-dir --input E:\\InputFilesForTopicModeling --output E:\\Tutorial\tutorial.mallet --keep-sequence --remove-stopwords"; 
    rt.exec("cmd /c"+export); 
} catch(Exception e) { 
    e.printStackTrace(); 
} 
+0

Подсказка: отложите свой код. –

ответ

2

Вы не можете изменить рабочую директорию, как это, но вы можете указать его в качестве параметра методу exec:

rt.exec("bin/mallet import-dir --input E:/InputFilesForTopicModeling --output E:/Tutorial/tutorial.mallet --keep-sequence --remove-stopwords", 
    null, new File("C:/mallet")); 
+0

спасибо, но когда я запустил этот оператор, я получил исключение: «Не удается запустить программу« bin \ mallet »(в каталоге« C: \ Mallet »): CreateProcess error = 2, система не может найти указанный файл» – Naren

+0

Ваша команда указывает на исполняемый файл с именем 'C:/mallet/bin/mallet', вы уверены, что он существует? – BackSlash

+0

Ya .. "bin \ mallet import-dir - input E: \ InputFilesForTopicModeling --output E: \ Tutorial \ tutorial.mallet --keep-sequence --remove-stopwords" Я выполнил этот оператор в командной строке, и это рабочий файл fine и tutorial.mallet также создается – Naren

0

Правильный способ выполнения команды в Java.

1. Cd YourDirectory //Go to your directory where you put your Java 
    code. Example: cd F: 

2. Cd yourJavaProject//Go to your directory where you put your Java 
    project. Example :cd JavaProject 

3. javac posMain.java //Compile the Java file 

4. java posMain //Don't use .java after that you will get your program 
    output 
+0

Я думаю, вы неправильно поняли вопрос – BackSlash

+0

Может быть, @Tiny вы правы Я подумал, что «мне нужно выполнить команду в командной строке с помощью java», это проблема проблемы. я сожалею о том, что –

+0

да @Tiny вы правы .. Спасибо –

Смежные вопросы