Извините, что перетаскиваю это, но я хорошо осмотрелся и все еще получаю исключение EOFException. Я прокомментировал все из моего метода, кроме:
File receivedFileObject;
File newFile = new File("newlyWrittenFile.mp3");
try{
Socket socket = new Socket(SERVER_IP, PORT);
try{
ObjectInputStream incommingData = new ObjectInputStream(socket.getInputStream());
Все, что я пытаюсь сделать, это передать файл, txt или mp3 с сервера клиенту - я даже не пытаюсь вызвать readObject()
на ObjectInputStream
и все равно получаю EOFException? Как мне добраться до конца файла, который я не пытался прочитать? На самом деле мне жаль, что я не пытался прочитать текстовый файл построчно, потому что я прекрасно знаю, как это сделать. Я просто хочу получить объект, передать его в файл и записать в файловую систему, но по какой-то причине мой блок catch:
} catch (IOException e){
System.out.println("Incomming data assignment error : " + e);
}
распечатывает:
Ошибка назначения входящих данных: java.io.EOFException
Я пытался следовать коду сервера, указанному в это сообщение на форуме. В основном с сервера я использую следующие строки для записи файла клиенту:
if (myFile.exists()) {
ObjectOutputStream oos=new ObjectOutputStream(client.getOutputStream());
oos.writeObject(myFile);
}
Я был бы очень признателен, если бы кто-нибудь мог объяснить, как исправить то, что кажется глупой ошибкой с моей стороны - Заранее спасибо!