Hallo zusammen,
ich habe ein Problem. Ich weiss nicht wo das Problem ist!?!
Wenn ich mein InputStream bzw. das BufferedInputStream direkt verwende, funktioniert alles sehr gut, aber wenn ich die Daten mit der read-Methode aus dem Stream in einem byte-Array lese, da ich es später für andere Zwecke benutzen möchte, dann funktioniert es nicht mehr!?! Liegt das an dem InputStream, wobei ich nicht glaube, oder ist die Adapterklasse ByteArrayInputStream, die die Daten kaput macht??
Ich habe sehr lange dran gessesen, aber ohne Erfolg!
Was passiert da? Ich weiss nur, dass da irgendwelche Daten verloren gehen, deshalb kann die Klasse Image von SWT das Bild nicht mehr erzeugen!
Vielen Dank im Voraus
ich habe ein Problem. Ich weiss nicht wo das Problem ist!?!
Wenn ich mein InputStream bzw. das BufferedInputStream direkt verwende, funktioniert alles sehr gut, aber wenn ich die Daten mit der read-Methode aus dem Stream in einem byte-Array lese, da ich es später für andere Zwecke benutzen möchte, dann funktioniert es nicht mehr!?! Liegt das an dem InputStream, wobei ich nicht glaube, oder ist die Adapterklasse ByteArrayInputStream, die die Daten kaput macht??
Code:
Funktioniert sehr gut:
BufferedInputStream bin = new BufferedInputStream(blob.getBinaryStream());
swtObj.setImage(new Image(null, bin));
//---------------------------------------------------------------------
Code:
Funktioniert NICHT -->> org.eclipse.swt.SWTException: Unsupported or unrecognized format
BufferedInputStream bin = new BufferedInputStream(blob.getBinaryStream());
try
{
byte buf[] = new byte[bin.available()];
while(bin.available()>0)
{
bin.read(buf);
}
InputStream input = new ByteArrayInputStream(buf);
swtObj.setImage(new Image(null, bin)); // Das Bild kann nicht mehr hergestellt werden SWTException???
}
catch (IOException e){}
Ich habe sehr lange dran gessesen, aber ohne Erfolg!
Was passiert da? Ich weiss nur, dass da irgendwelche Daten verloren gehen, deshalb kann die Klasse Image von SWT das Bild nicht mehr erzeugen!
Vielen Dank im Voraus