我有以下代码
Process p = new ProcessBuilder("D:\Encryption.exe", "D:\Cat-hd-
wallpapers_remain_both2.jpg").start();
此代码可以运行良好,但不用声明" D: cat-hd- wallpapers_remain_both2.jpg" 在我的代码中,我想使用文件选择器来选择文件。我使用以下代码,但仍然不起作用。
imageUpload.setOnMouseClicked(event -> {
FileChooser fileChooser=new FileChooser();
fileChooser.setInitialDirectory(new File("c:\"));
fileChooser.getExtensionFilters().addAll(new FileChooser.ExtensionFilter("JPG Images","*.jpg"),
new FileChooser.ExtensionFilter("JPEG Images","*.jpeg"),
new FileChooser.ExtensionFilter("PNG Images","*.png"));
File file=fileChooser.showOpenDialog(null);
if (file!=null){
try {
imageUpload.setImage(new Image(file.toURI().toURL().toString()));
Process p = new ProcessBuilder("D:\Encryption.exe",file.getAbsoluteFile().getAbsolutePath()).start();
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException ex) {
Logger.getLogger(decriptImageController.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
它引发以下错误
CreateProcess error=2, The system cannot find the file specified
您可以帮助我找出问题。谢谢。
错误 "CreateProcess error=2, The system cannot find the file specified"
指的是可执行文件,即加密。exe,与传递给它的jpeg文件参数无关。
您的第二个示例必须有不同的内容,但在您的问题中没有显示。也许是一个微妙的错别字,例如encyrting.exe等...