以下是我现在的代码:
File file= new File("C:\Documents and Settings\vasanth\Desktop\s.PNG");
BufferedImage image;
try {
image = ImageIO.read(file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Raster raster = image.getRaster();
BufferedImage image2 = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
WritableRaster raster2 = image2.getRaster();
BufferedImage image3 = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_INT_RGB);
WritableRaster raster3 = image3.getRaster();
我应该保留我在这里使用的图像吗?即使我已经指定了图像文件的完整路径,我仍然会收到错误。
答案 0 :(得分:14)
在java字符串中使用双斜杠。单斜杠被认为是字符转义序列。
所以你应该像这样打开文件:
File file= new File("C:\\Documents and Settings\\vasanth\\Desktop\\s.PNG");
答案 1 :(得分:2)
与Ivaylo所说的一样,看看这部分代码:
BufferedImage image;
try {
image = ImageIO.read(file);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Raster raster = image.getRaster();
您是否考虑过如果您分配image
例外会发生什么?您将在空对象上调用一个方法,这将使用NullPointerException
完全终止您的应用。
如果发生异常,您需要停止对图像的任何操作。您可以将所有内容放在try...catch
块中以解决此问题。