好的,我想创建一个我资源文件夹中的图像副本,并将其放到桌面上。示例:我的项目有一个资源文件夹,其中包含一个名为apple.png的图像。因为当我导出我的jar文件时它无法找到它,我想将它复制到桌面,以便它可以从那里找到它。这是我尝试做的事情:
try {
// retrieve image
BufferedImage bi = new BufferedImage(256, 256,
BufferedImage.TYPE_INT_RGB);
File outputfile = new File(
"C:/Users/Owner/Desktop/saved.png");
ImageIO.write(bi, "png", outputfile);
} catch (IOException e) {
}
}
这只是在我的桌面上为我创建了缓冲的图像。如何拍摄我的图像并将其复制到其中。
答案 0 :(得分:1)
将其加载为图像的原因是什么?如果您只想将资源复制到桌面而不更改它:
InputStream resStream = getClass().getResourceAsStream("/image.png"));
//Improved creation of output path:
File path = new File(new File(System.getProperty("user.home")), "Desktop");
File outputFile = new File(path, "saved.png");
//now write it
Files.copy(resStream, outputFile);
答案 1 :(得分:0)
您需要加载BufferedImage
作为图片文件。
BufferedImage bi = ImageIO.read(new File(getClass().getResource("/apple.png"));));
所有其他步骤都相同。