2D-Grafik nach getthumbnail läst sich Quellbild nicht mehr löschen

washpuda54

Mitglied
Hallo,

ich hab da ein Problem. Und zwar wenn ich Bilder über die Funktion Image img = JimiUtils.getthumbnail(src,width,height,flag); lade funktioniert das sehr gut und schnell.
Wenn ich aber anschließend das Bild vom Datenträger mit File.delete(); löschen will funktioniert das nur ab und zu. Auch kann ich nicht das Bild direkt über den explorer von Windows löschen, weil irgendetwas die Datei geöffnet hat. Erst wenn ich die Java-Anwendung schließe, kann ich das Bild löschen.

Ziel soll sein, das der Programmnutzer die Bilder vom einen angegeben Pfad sich in einem Panel anzeigen lassen kann. Über ein Popupmenu kann dann die Option entfernen ausgewählt werden und das Bild soll dann gelöscht werden.

Wenn ich das Image z.B. mit ImageIO einlese habe ich keine Probleme mit dem löschen. Da ich aber auch große Bildmengen zulassen möchte ist ImageIO nicht sehr performant und benötigt sehr viel Speicher. Ich hoffe irgendjemand hat eine Idee.
 
es gibt leider keine Fehlermeldung, es funktioniert ja sonst alles wunderbar. Nur die Funktion getThumbnail muss irgendwie das Quellbild offen halten. Wenn ich vielleicht 10 Bilder über geht Thumbnail öffne, dann kann ich vielleicht 7 Bilder ohne probleme wieder löschen.
 
so nach einigen probieren habe ich ne Lösung gefunden. Ich schreib den Code mal aus dem Kopf und hoffe ich mach keine Fehler dabei.

Java:
FileInputStream fis = new FileInputstream("datei")
InputStream is = fis;

JimiUtils.getThumbnail(is, width,height,flag);
fis.close();
is.close();

Dauert vieleicht nur 10 % länger als dierekt über den Pfad das Thumbnail zu öffen und damit immer noch deutlich schneller als mit ImageIO.
 

Neue Themen


Zurück
Oben