s.a*_*lem 10 java eclipse javax.imageio
public static void imRes(String pat) {
try {
BufferedImage bckimg = ImageIO.read(new File("c:/s/deneme.jpg"));
File s = new File(pat);
BufferedImage im = ImageIO.read(s);
BufferedImage im1 = resIm(im);
BufferedImage finIm = mergIm(im1, bckimg);
ImageIO.write(finIm, "jpg", new File("c:/s/deneme1.jpg"));
} catch (IOException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
这是我的第一篇文章,如果我做错了,请原谅.此代码正常运行,直到我尝试从源包中读取图像.但现在它无法读取任何图像.我究竟做错了什么?或者它是关于日食的东西?
例外:
javax.imageio.IIOException: Can't read input file!
at javax.imageio.ImageIO.read(Unknown Source)
at imRe.imRes(imRe.java:12)
at imReTest.main(imReTest.java:6)
Run Code Online (Sandbox Code Playgroud)
谢谢...
Bru*_*ira 15
改变/了\,如果你使用的是Windows.
更具跨平台的方法将是替代方案
C:for File.listRoots()[0]and every /for File.separator.
阅读有关File api文档的更多信息
编辑
(我没看过这行,对不起)
此代码正常运行,直到我尝试从源包中读取图像
为了从jar包中获取文件,必须使用该getClass().getResource()方法.
例:
application-package:
|-Main.java
|-resources
|-image.jpg
Run Code Online (Sandbox Code Playgroud)
对于上面的目录结构:
BufferedImage im = ImageIO.read(new File(getClass().getResource("/resources/image.jpg").toURI()));
Run Code Online (Sandbox Code Playgroud)
会做的伎俩.