如何加载在Java中在同一运行中创建的文件

时间:2018-05-03 14:37:05

标签: java javafx runtime

我正在创建一个使用graphviz生成png图像的应用程序,在创建之后我想在ImageView上加载图像,不知道这里最好的方法是什么,这是我最近的尝试:

private void generateGraph() throws IOException {
    Graph g = graph("example15").directed().with(node("a").link(node("b"));
    Graphviz.fromGraph(g).width(200).render(Format.PNG).toFile(new File("src/main/resources/graphs/ex15.png"));
}

public void handleImageLoad(ActionEvent event) {
    try{
        // Image here is a JavaFX image, thats why I can load an image from
        // the resources folder directly
        Image image = new Image("graphs/ex15.png");
        loadGraphPNG(image);
    } catch (IllegalArgumentException e){
        //e.printStackTrace();
        System.out.println("File not found!");
    }        
}

通过按下按钮调用方法handleImageLoad,但是即使在创建文件后(我通过查看文件夹确认),程序也会打印出消息"找不到文件!&# 34;被抓住的clausule抛出。另一方面,如果我尝试加载已经在资源文件夹中的文件,它加载就好了。所以问题是,如果文件是在运行时创建的,我如何创建一个Image并将其加载到ImageView中?谢谢。

0 个答案:

没有答案