初始化全局缓冲映像(Java)

初始化全局缓冲映像(Java),java,bufferedimage,Java,Bufferedimage,因此,我知道要声明和初始化全局变量,必须执行如下操作,例如: public static int Variable = 2; 但我想知道是否有一种方法可以使用文件中的图像初始化全局BuffereImage变量。我不能使用上面的代码,因为我还需要包含try/catch语句 有人能解决我的问题吗?我想你应该使用一个静态的阵营 public static BufferedImage image = null ; static { try { image =

因此,我知道要声明和初始化全局变量,必须执行如下操作,例如:

public static int Variable = 2;
但我想知道是否有一种方法可以使用文件中的图像初始化全局BuffereImage变量。我不能使用上面的代码,因为我还需要包含try/catch语句


有人能解决我的问题吗?

我想你应该使用一个
静态的
阵营

 public static BufferedImage image = null ;

 static
     {
     try {
         image = javax.imageio.ImageIO.read(new File("Image path")) ; // Or whatever reader you use.
         }
     catch (IOException ex)
         {
         Logger.getLogger(Prototyper.class.getName()).log(Level.SEVERE, null, ex);
         }
     }

顺便说一句,正如下面第一条评论中提到的,这是一种非常糟糕的做法。通常,您希望使用读取静态方法,并在需要的位置读取图像,而不是在默认情况下。

使用为什么不使用静态方法?无论如何,在静态初始化中执行I/O是不好的做法,应该避免。我不会投反对票,因为这是OP要求的,但是。。真的,不要这样做。:-)我同意,但我也没有这样做,我只是回答了这个问题。我使用静态方法,在需要时读取图像。在他的情况下,他想默认这样做。我已经编辑了我的答案,使之精确。