读取文件内容并将其存储在InputStream Java中

问题描述 投票:0回答:1

你好,亲爱的程序员,

我目前正在尝试将计算机中的文件导入InputStream。更确切地说,它是一张图片。我有两种方法可以解决这个问题。这是第一个,试图从我的计算机上获取图片:

  public Image getImage() {
      Image i = null ;
      File f = null;
      try {
       f = new File("/my/path/linux.png");
       InputStream is = new FileInputStream(f);
       i = m_win.loadImage(is);
      }catch (Exception e) {
        }
      return i;
  }

这是loadImage方法:

  public Image loadImage(InputStream is) {
    BufferedImage img = null;
    try {
      img = ImageIO.read(is);
      return new GuiImage(img);
    } catch (IOException ex) {
      ex.printStackTrace();
    }
    return null;
  }

当进入loadImage(is)时返回NullPointerException。我试图从InputStream读取一个字节,它返回的东西很好。路径还可以(顺便说一句,我在macOS上有任何结果吗?)

不幸的是,我在调试时无法进入loadImage方法,该代码是GUI工具箱的一部分。是因为我正在将其运行到可运行的对象中吗?我还在学习,所以我很困惑。

感谢您的回答,希望我提供了足够的详细信息。

java image file inputstream fileinputstream
1个回答
0
投票

ImageIO是javax.imageio.ImageIO的库类。

您可以尝试运行以下代码

        BufferedImage img = null;
        try {
          img = ImageIO.read(is);
          return new GuiImage(img);
        } catch (IOException ex) {
          ex.printStackTrace();
        }

此后立即

   InputStream is = new FileInputStream(f);

查看是否有效

© www.soinside.com 2019 - 2024. All rights reserved.