Moin zusammen.
kann mir jemand sagen, was hier falsch sein soll?
> "Der Ausgabedatenstrom für die erste Datei wird nicht geschlossen." <
Diesen habe ich doch in Zeile 36 geschlossen.
Auch wenn ich unter Zeile 36 noch einen Schreibversuch anhänge, wird korrekt eine Ausnahme ausgelöst und die Meldung "java.io.IOException: Stream Closed" anzeigt.
Gruß Thomas
package de.codegym.task.task18.task1818;
/*
Zwei in einem
*/
import java.io.*;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
File fileOut = new File(scanner.nextLine());
File fileA = new File(scanner.nextLine());
File fileB = new File(scanner.nextLine());
try {
OutputStream fos = new FileOutputStream(fileOut);
InputStream fisA = new FileInputStream(fileA);
InputStream fisB = new FileInputStream(fileB);
byte[] buffer = new byte[4096];
int read;
while (fisA.available() > buffer.length) {
read = fisA.read(buffer);
fos.write(buffer);
}
read = fisA.read(buffer);
fisA.close();
fos.write(buffer,0,read);
while (fisB.available() > buffer.length) {
read = fisB.read(buffer);
fos.write(buffer);
}
read = fisB.read(buffer);
fos.write(buffer,0,read);
fisB.close();
fos.close();
} catch (Exception e) {System.out.println(e);}
}
}