Я создал страницу настроек, код программы которой -
public class SAML
extends FieldEditorPreferencePage
implements IWorkbenchPreferencePage {
public SAML() {
super(GRID);
setPreferenceStore(RmpPlugin.getDefault().getPreferenceStore());
setDescription("Browse Appropriate files");
}
public FileFieldEditor f;
public FileFieldEditor f1;
public void createFieldEditors() {
f = new FileFieldEditor(PreferenceConstants.P_PATH,
"&Prism.bat File:", getFieldEditorParent());
addField(f);
f1 = new FileFieldEditor(PreferenceConstants.P_PATH1,
"&NuSMV Application File:", getFieldEditorParent());
addField(f1);
}
public void init(IWorkbench workbench) {
}
}
На этой странице настроек есть два FileFieldEditor , которые используются для выбора файлов "prism.bat" и "NuSMV.exe".
Я получил доступ к пути в моей другой кнопочной программе, код которой ---
try {
IPreferenceStore store = plugin.getPreferenceStore();
ProcessBuilder pb=new ProcessBuilder(store.getString(PreferenceConstants.P_PATH));
pb.directory(new File(store.getString(PreferenceConstants.P_PATH)));
Process p=pb.start();
BufferedReader input = new BufferedReader(new InputStreamReader(p.getInputStream()));
String in;
while((in = input.readLine()) != null) {
out.println(in);
}
int exitVal=p.waitFor();
if(exitVal==0)
{
out.println("Printing on console");
}
else
out.println("Process failed");
}
catch (Exception e)
{
out.println(e.toString());
e.printStackTrace();
}
Всякий раз, когда я нажимаю кнопку после выбора файла Prism.bat на странице настроек, он говорит, что файл не найден.
Чего мне не хватает?