Domanda

Errore:. Non gestita tipo di eccezione IOException

File imgLoc = new File("player.png");
BufferedImage img = ImageIO.read(imgLoc);

Come faccio ad avere un BufferedImage da una posizione di file?

È stato utile?

Soluzione

La causa del problema è meglio determinata esaminando uno stacktrace per l'eccezione.

Come misura temporanea, sostituire quei due linee con il seguente:

File imgLoc = new File("player.png");
BufferedImage img;
try {
   img = ImageIO.read(imgLoc);
} catch (IOException ex) {
   System.err.println(ex.getMessage());
   ex.printStackTrace();
   throw ex;
}

per inviare alcuni di diagnostica per errore standard. Eseguire l'applicazione modificato e inviare l'output risultante.

Le cause possono essere:

  • Il nome del file è sbagliata,
  • Il file non è nella directory corrente della app,
  • Il file non è leggibile da app a causa di controlli di accesso del sistema operativo,
  • Il file è leggibile, ma c'è qualcosa di sbagliato con il suo formato,
  • eccetera.

Altri suggerimenti

Il file esiste? Sei per caso leggendo da una directory inaspettato?

File.exists () e / o di File.canRead ()

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top