2013-10-10 3 views
0

Я хочу открыть файл в приложении .jar, и я хочу использовать java для этого. Объясняя, например, у меня есть файл SF_Antivalent.xml, и я хочу открыть его с помощью uppaal.jar. Как это сделать с помощью Java. Я написал следующий код, но он не работает.Как открыть файл в .jar через java

public class test7 { 
public static void main(String[] args){ 


    Runtime rt=Runtime.getRuntime(); 
    String file="C:\\Users\\V\\Documents\\diplwmatiki\\SFBs\\SF_Antivalent.xml"; 
    Process p=rt("C:\\Windows\\System32\\java.exe", "-jar", "C:\\Users\\" 
      + "V\\Documents\\uppaal-4.0.13-aca\\uppaal-4.0.13\\uppaal.jar" + file); 
} 

}

и я получаю эту ошибку: метод RT (String, String, String) не определено для испытания типа. Есть ли что-то делать?

+0

Вы забыли 'exec()'? –

+0

Является ли файл Jar в рамках класса classpath? – MadProgrammer

ответ

0

вы вопрос немного запутанным, однако, я полагаю, вы хотите запустить какое-либо приложение и передать файл XML в качестве параметра к нему ...

проблема есть, ты лечишь rt как функция/метод, а не объект. Runtime имеет метод exec используется для выполнения внешних команд, например ...

Runtime rt=Runtime.getRuntime(); 
String file="C:\\Users\\V\\Documents\\diplwmatiki\\SFBs\\SF_Antivalent.xml"; 
Process p=rt.exec(new String[]{ 
    "C:\\Windows\\System32\\java.exe", 
    "-jar", 
    "C:\\Users\\V\\Documents\\uppaal-4.0.13-aca\\uppaal-4.0.13\\uppaal.jar", 
    file}); 

Кроме того, каждый из команды или аргумент, который вы хотите отправить этот внешний процесс должен быть его собственный элемент в массиве вы передаете этому method

Это значит, что у tha "V\\Documents\\uppaal-4.0.13-aca\\uppaal-4.0.13\\uppaal.jar" + file на самом деле нет эффекта, который, как вы думаете, будет.

Я также рекомендую вам использовать ProcessBuilder над Runtime#exec, но это я.

+0

Да, большое спасибо !!! Это именно то, что мне нужно. Еще раз спасибо! – Vasouli

0

Причина, по которой вы получаете ошибку, состоит в том, что rt является объектом Runtime, а не методом. Для вызова метода к.т. сделать это:

rt.someMethodName(); 
0

С над вами код не может получить XML-файл, вы пытаетесь выполнить что-то, вместо открытия файла внутри архива JAR

Посмотрите в getResourceAsStream, это даст вам возможность загрузить любой файл из JAR

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