无法在java中使用fullpath打开文件

时间:2013-01-22 14:14:28

标签: java file

以下是我现在的代码:

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(); 

我应该保留我在这里使用的图像吗?即使我已经指定了图像文件的完整路径,我仍然会收到错误。

2 个答案:

答案 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块中以解决此问题。