Hallo allerseits!
Im nachfolgenden Code beim Versenden vieler Bilder kommt nach wenigen erfolgreichen Annahmen ein java.lang.... HeapSpace error.
Das Buffer wird doch jeweils lokal innerhalb der Schleife angelegt. Wie kommt es zu dem Heap-Fehler?
Wäre für Hilfe wieder äußerst dankbar!
Im nachfolgenden Code beim Versenden vieler Bilder kommt nach wenigen erfolgreichen Annahmen ein java.lang.... HeapSpace error.
Das Buffer wird doch jeweils lokal innerhalb der Schleife angelegt. Wie kommt es zu dem Heap-Fehler?
Wäre für Hilfe wieder äußerst dankbar!
Java:
DataInputStream dataInputStream = new DataInputStream(new BufferedInputStream(socket.getInputStream()));
@Override
public void run() {
System.out.println("Testausgabe2");
int fileNameCounter = 1;
String outputFile;
while(running){
try{
outputFile = "C:/Test/receivedImage" + fileNameCounter + ".jpg";
length = dataInputStream.readInt();
buffer = new byte[length];
for(int i = 0; i < length; i++){
buffer[i] = (byte)dataInputStream.read();
}
ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(buffer);
BufferedImage bufferedImage = ImageIO.read(byteArrayInputStream);
File file = new File(outputFile);
ImageIO.write(bufferedImage, "png", file);
// bis hier Test mit Bildempfang
fileNameCounter++;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}