Stress über die vielen Methoden von Java I/O. BufferedReader / Writer, PrintWriter, ObjectInputStream und all das Jazz! Warum kann Java nicht einfacher sein?
Hier ist mein Problem. Versuche, einen Client/Server als Übung zu schreiben. Hier ist mein Code für den Server, der die Verbindung akzeptiert und in eine Datei schreibt.
String inputLine;
while (true){
connection = server.accept();
PrintWriter out = new PrintWriter(new BufferedWriter(new FileWriter("foo.out")));
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
while ((inputLine = in.readLine()) != null) {
out.write(inputLine);
}
out.close();
in.close();
connection.close();
}
Auf der Client-Seite: Ich benutze das (sende eine Datei an den Server):
BufferedReader inPut =
new BufferedReader(new InputStreamReader( new FileInputStream(fileName) ));
PrintWriter output = new PrintWriter( client.getOutputStream(), true);
Obwohl die Datei übertragen wird, ist die Datei beschädigt. Welche ist die bevorzugte Methode für das I/O, um Dateien über das Netzwerk zu übertragen? Werde verrückt über Java!