2013-07-02 1 views
-1

У меня есть этот код:Как выбрать программу для запуска?

import javax.swing.JOptionPane; 

class OpenProgram { 

    public static void main(String[] args) throws Exception { 

     // opens the JOptionPane 
     String path = JOptionPane 
       .showInputDialog("Type the path to a program or other file(forward slashes)"); 

     //runs the program 
     Process run = Runtime.getRuntime().exec("\"" + path); 
     System.out.println("Program Opened!"); 
     run.waitFor(); 
    } 
} 

Предполагается воспитывать JOptionPane и иметь тип пользователя в пути к программе, затем запустить указанную программу, но когда я проверить его и нажмите ОК JOptionPane, он говорит, что не может запустить его. Любая помощь?

+0

* он говорит, что не мог запустить его * что именно? какой-то файл не найден исключение? – kajacx

+0

Почему вы делаете '' \ "" + path'? –

+0

Что именно вы хотите выполнить? Есть много вещей, о которых мы можем задаться. – Smit

ответ

0

Возможно ли, что среда выполнения не сможет найти исполняемый файл, который вы хотите запустить? Вы используете Windows или Linux или Mac? Папка, в которой присутствует исполняемый файл, может отсутствовать в пути или, возможно, не может найти динамически связанную библиотеку, необходимую вашей программе. Можете ли вы вставить значение, содержащееся в пути переменной? Также, когда вы говорите «он не мог запустить его», вы видите какое-либо исключение?

1

Ну, ожидайте java.io.IOException, убедитесь, что путь верен, и иногда доступ к файлу отклоняется, или программа, которую вы пытаетесь открыть, не является допустимым приложением Win32.

Попробуйте использовать Desktop.getDesktop().open(new File(path)).

+0

+1 для' Desktop' –

0

Если вы не видите никаких исключений, то ваш путь, вероятно, не связан или не прав. Пожалуйста, сообщите больше информации, если это возможно, поэтому ответ проще. Вы дали очень расплывчатый пост.