从另一个目录中读取图像

我需要从另一个目录打开一个图像,但是当我尝试输入像/Users/Documents/image.dcm这样的整个路径名时,以下代码不起作用。

我正在尝试打开一个dicom图像。 我这样做,所以我可以为这个代码制作GUI,但我真的卡住了。 我尝试过很多东西,但似乎没什么用。 任何建议将不胜感激。

 /** * This class displays the first frame of a file from any format * supported by ImageIO. * In the case of DICOM files, stored values are displayed as * is, without using Value of Interest or Presentation LUTs. */ class Read1 { public static void main(String[] s) { try { //System.out.println(s[0]); if (s.length != 1) { //System.err.println("Please supply an input file"); System.exit(1); } //URL url = Main.class.getResource(s[0]); ImageIO.scanForPlugins(); final BufferedImage bi = ImageIO.read(new File(s[0])); if (bi == null) { System.err.println("read error"); System.exit(1); } JFrame jf = new JFrame(); jf.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); final Rectangle bounds = new Rectangle(0, 0, bi.getWidth(), bi.getHeight()); JPanel panel = new JPanel() { public void paintComponent(Graphics g) { Rectangle r = g.getClipBounds(); ((Graphics2D) g).fill(r); if (bounds.intersects(r)) g.drawImage(bi, 0, 0, null); } }; jf.getContentPane().add(panel); panel.setPreferredSize(new Dimension(bi.getWidth(), bi.getHeight())); jf.pack(); jf.setVisible(true); } catch (Exception e) { e.printStackTrace(); } } } 

你可以尝试任何一个

 // Read from same package ImageIO.read(getClass().getResourceAsStream("c.png")); // Read from absolute path ImageIO.read(new File("E:/SOFTWARE/TrainPIS/res/drawable/c.png")); // Read from images folder parallel to src in your project ImageIO.read(new File("images/c.jpg")); // Read from src/images folder ImageIO.read(getClass().getResource("/images/c.png")) // Read from src/images folder ImageIO.read(getClass().getResourceAsStream("/images/c.png"))