Java 无法使用JFileDialog加载图像
最初使用jfilechooser将jpg文件上载到项目中,但切换到jFileDialog,因为我想在缩略图视图中获取图像。但是当我运行这个项目时,我得到了这个错误消息:Java 无法使用JFileDialog加载图像,java,swing,Java,Swing,最初使用jfilechooser将jpg文件上载到项目中,但切换到jFileDialog,因为我想在缩略图视图中获取图像。但是当我运行这个项目时,我得到了这个错误消息: javax.imageio.IIOException:Cant read input file! 代码如下: 我认为问题来自这一部分: File imgs =new File(filename); BufferedImage bufferedimage=ImageIO.read(imgs); 它似乎没有得到文件。请问我做错
javax.imageio.IIOException:Cant read input file!
代码如下:
我认为问题来自这一部分:
File imgs =new File(filename);
BufferedImage bufferedimage=ImageIO.read(imgs);
它似乎没有得到文件。请问我做错了什么?我只是测试了一下,方法FileDialog.getFile只返回文件名,而不是完整的路径!要获取目录,必须调用FileDialog.getDirectory 解决此问题的最简单方法是将目录和文件连接起来
filename = fd.getDirectory() + File.seperator + fd.getFile();
我不完全确定您是否需要File.separator,因为fd.getDirectory可能已经在末尾有了文件分隔符,并且您得到了多个分隔符
要解决此问题,请使用:
filename = new File(new File(fd.getDirectory()), fd.getFile()).getPath();
或者直接存储文件而不在末尾使用.getPath,并且不要在路径中存储字符串。打印堆栈跟踪并发布它为什么
if(filename==null){}else{
而不仅仅if(filename!=null){
只使用一个并检查fd.setFile(*.jpg”);请输入System.out.println(filename)
在有问题的部分中,验证以该确切路径命名的文件是否确实存在System.out.println(文件名)在@Alexander中未显示任何内容,但我在FileDialog中选择了一个文件。如何在内部框架中运行JFileDialog?这行代码中出现错误:“FileDialog fd=new FileDialog(this),”选择一个文件,FileDialog.LOAD);"错误消息显示:未找到合适的构造函数@Alexander@RodneyNart因为JInteralFrame不扩展Frame,所以它不会工作,所以如果我使用jfilechooser,您能帮我获取一个代码以缩略图视图显示文件吗@Alexander@RodneyNart你可能想看看这篇帖子,尤其是被接受的答案,因为它有点像fa比原来的代码,但它应该工作。好的,谢谢。你的努力非常感谢。请与我联系rodneynart1@gmail.com.商业提案@Alexander。
filename = new File(new File(fd.getDirectory()), fd.getFile()).getPath();