Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien
Toon posts:

[JAVA] Can't read input file - BufferedImage

Pagina: 1
Acties:
  • 864 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Experts,

Ik heb een apart probleempje. Voor een bepaalde applicatie moet ik bepaalde afbeeldingen inladen (.gif) alleen kan ik deze files niet inladen. Ik gebruik het volgende scripje.

code:
1
2
3
4
5
6
7
BufferedImage icon = null;
File file = new File("Torpedo.gif");
try 
{
       icon = ImageIO.read(file);
} 
catch (IOException e) {e.printStackTrace();}


Hetgene wat mijn StackTrace print:
code:
1
2
3
4
5
6
javax.imageio.IIOException: Can't read input file!
    at javax.imageio.ImageIO.read(Unknown Source)
    at DrawImage.tekenKaart(DrawImage.java:61)
    at DrawImage.paint(DrawImage.java:42)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)
    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)


Hij kan dus de image niet laden, wat me raar lijkt want de rechten lijken mij goed. Ik werk als administrator op een windows Xp machine. Iemand hier ervaring mee?

  • TeeDee
  • Registratie: Februari 2001
  • Laatst online: 30-11 19:45

TeeDee

CQB 241

Klopt de Reference wel naar je file?
iets als
Java:
1
File file = new File("C:\Torpedo.gif");

Heart..pumps blood.Has nothing to do with emotion! Bored


  • Glabbeek
  • Registratie: Februari 2001
  • Laatst online: 27-11 14:24

Glabbeek

Dat dus.

Wat TeeDee zegt is - in ieder geval volgens de code van ImageIO.read(File) - de enige reden dat die exception met bijbehorende message gegooid wordt:

Java: ImageIO.class (jdk 1.4.2)
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
    public static BufferedImage read(File input) throws IOException {
        if (input == null) {
            throw new IllegalArgumentException("input == null!");
        }
        if (!input.canRead()) {
            throw new IIOException("Can't read input file!");
        }

        ImageInputStream stream = createImageInputStream(input);
        if (stream == null) {
            throw new IIOException("Can't create an ImageInputStream!");
        }
        return read(stream);
    }

En zo is het maar net.


Verwijderd

Topicstarter
Inderdaad, het hele logische pad moet erin. Voorgaande applicaties was dit niet het geval, raar dat het niet werkte, maar heb nu het hele logische pad in de file gezet en het werkt. Thnx:)