放到任意文件夹都可以,看你的管理方式。
1、放到和程序目录下的某个文件夹中。
// 假设图片放到程序运行目录的img目录下BufferedImage img = ImageIO.read(new File("img/my.png"))
2、放到源文件中,和读取类在同一目录,使用时图片要按包名打包到jar中
// 假设图片放到src下,和MyImages在一个目录BufferedImage img = ImageIO.read(MyImages.class.getResource("my.png"))
3、放到源文件中,但在独立文件夹中,使用时图片要按包名打包到jar中
// 假设图片放到src下的img目录中BufferedImage img = ImageIO.read(MyImages.class.getResource("res/my.png"))
建议:图片文件先用绝对路径来访问,暂时别用class.getResource的方法,直接new FileInputStream(new File(path))这种格式。
另外,你这个问题多半是因为类路径问题,你这个img目录下的文件并没有像你想象的那样被打包到最终项目运行环境下。