Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java中读取和存储.bmp文件_Java_Bitmap_File Io - Fatal编程技术网

在java中读取和存储.bmp文件

在java中读取和存储.bmp文件,java,bitmap,file-io,Java,Bitmap,File Io,我正在尝试读取一个名为circle1.bmp的.bmp文件。它在一个包中,我已经导入到下面的文件中 到目前为止,我有以下代码,但当我运行以下代码时,我得到: javax.imageio.llOException:无法读取输入文件 public void setUp() throws IOException { BufferedImage image = ImageIO.read(new File("circle1.bmp")); byte[][] greenInputData =

我正在尝试读取一个名为
circle1.bmp
的.bmp文件。它在一个包中,我已经导入到下面的文件中

到目前为止,我有以下代码,但当我运行以下代码时,我得到:

javax.imageio.llOException:无法读取输入文件

public void setUp() throws IOException
{
    BufferedImage image = ImageIO.read(new File("circle1.bmp"));
    byte[][] greenInputData = new byte[30][40];

    for (int x = 0; x < inputData.length; x++)
    {
        for (int y = 0; y < inputData[x].length; y++)
        {
            int color = image.getRGB(x, y);
            //alpha[x][y] = (byte)(color>>24);
            //red[x][y] = (byte)(color>>16);
            greenInputData[x][y] = (byte)(color>>8);
            //blue[x][y] = (byte)(color);
        }
    }
    this.inputData = greenInputData;

    System.out.println(this.inputData);
}
public void setUp()引发IOException
{
BuffereImage image=ImageIO.read(新文件(“circle1.bmp”);
字节[][]绿色输入数据=新字节[30][40];
对于(int x=0;x>24);
//红色[x][y]=(字节)(颜色>>16);
绿色输入数据[x][y]=(字节)(颜色>>8);
//蓝色[x][y]=(字节)(颜色);
}
}
this.inputData=绿色inputData;
System.out.println(this.inputData);
}

您应该尝试以下方法

image = ImageIO.read(getClass().getResourceAsStream("path/to/your/file.bmp"));

相对于用户目录,映像的文件路径可能不正确。要找出Java开始查找的位置,用户目录的位置,请在程序中的某个地方放置类似以下代码行的内容:

System.out.println(System.getProperty("user.dir"));
也许您最好将图像作为从资源获取的输入流,而不是文件。e、 g

image = ImageIO.read(getClass().getResourceAsStream("circle1.bmp")); //prefered


这将在给定的相对于类文件位置的路径上查找图像,事实上,如果图像位于jar文件中,则必须这样做。

ImageIO声称支持BMP,我认为bmp文件有很多变化,它不能处理很多变化。BuffereImage=ImageIO.read(getClass().getResource(“C:/Users/Quinn/workspace/WalnutaIQModel/src/vision_data/circle.bmp”);给我的是错误:java.lang.IllegalArgumentException:input==null!使用getResourceAsStream()时,必须使用相对路径。尝试“/visiondata/circle.bmp”我尝试了相对路径“/vision\u data/circle1.bmp”,现在我得到了java.lang.NullPointerExceptionNope。javax.imageio.IIOException:尚未实现新的BMP版本。No。javax.imageio.IIOException:尚未实现新的BMP版本。
image = ImageIO.read(getClass().getResource("circle1.bmp"));