使用Java Process Builder中的文件选择器选择文件



我有以下代码

 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等...

最新更新