Hallo Java
ich habe mir ein Programm programmiert, mit dem ich einen Ordner mit
unsortierten Bilder so aufbereiten kann, dass die Bilder für eine
Diashow thematisch und zeitlich geordnet sind.
Dazu lese ich alle Bilder ein und skaliere sie zu ImageIcons.
Das Programm läuft so wie ich es mir gedacht habe, allerdings nur
so lange wie ich ( für die Programmierphase ) nur zehn Bilder einlese.
Beim ersten Lauf mit einem tatsächlichen Bildordner stieg es mit einer
Exception aus.
" Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space "
Das tritt ein, wenn ich mehr als 120 Bilder einlesen will.
Ich habe mir nun eine Änderung überlegt.
Ich lege alle ImageIcons an, speichere sie aber nicht im Programm,
sondern in jeweils einem Binär-File auf der Festplatte.
Hier ist nun mein Problem.
Mir gelingt es nicht, das ImageIcon in ein Byte-Array zu schreiben.
[CODE lang="java" title="Programmsegment"]
private static ImageIcon[] iconList;
// Image in ImageIcon wandeln
iconList[0] = new ImageIcon( sImg );
// ImageIconList speichern
BufferedOutputStream bos = null;
try {
bos = new BufferedOutputStream( new FileOutputStream("datei.bin") );
byte[] buf = (byte)iconList[0];
bos.write( buf );
}
catch( IOException ex) {
System.out.println(ex);
}
finally {
if(bos!=null)
try {
bos.close();
}
catch(Exception ex) {
}
}
[/CODE]
Kann mir dabei jemand helfen?
Gruss GBunge
ich habe mir ein Programm programmiert, mit dem ich einen Ordner mit
unsortierten Bilder so aufbereiten kann, dass die Bilder für eine
Diashow thematisch und zeitlich geordnet sind.
Dazu lese ich alle Bilder ein und skaliere sie zu ImageIcons.
Das Programm läuft so wie ich es mir gedacht habe, allerdings nur
so lange wie ich ( für die Programmierphase ) nur zehn Bilder einlese.
Beim ersten Lauf mit einem tatsächlichen Bildordner stieg es mit einer
Exception aus.
" Exception in thread "Thread-0" java.lang.OutOfMemoryError: Java heap space "
Das tritt ein, wenn ich mehr als 120 Bilder einlesen will.
Ich habe mir nun eine Änderung überlegt.
Ich lege alle ImageIcons an, speichere sie aber nicht im Programm,
sondern in jeweils einem Binär-File auf der Festplatte.
Hier ist nun mein Problem.
Mir gelingt es nicht, das ImageIcon in ein Byte-Array zu schreiben.
[CODE lang="java" title="Programmsegment"]
private static ImageIcon[] iconList;
// Image in ImageIcon wandeln
iconList[0] = new ImageIcon( sImg );
// ImageIconList speichern
BufferedOutputStream bos = null;
try {
bos = new BufferedOutputStream( new FileOutputStream("datei.bin") );
byte[] buf = (byte)iconList[0];
bos.write( buf );
}
catch( IOException ex) {
System.out.println(ex);
}
finally {
if(bos!=null)
try {
bos.close();
}
catch(Exception ex) {
}
}
[/CODE]
Kann mir dabei jemand helfen?
Gruss GBunge