Я сейчас работаю над домашним заданием и полностью застрял.Я на последнем вопросе, и я просто не могу понять, как выполнить последнее задание.Ниже приведены задачи, которые мне пришлось выполнить:
Клиент должен сохранить файл в подкаталоге client в домашнем каталоге.
Проверьте вашу программу.Убедитесь, что он работает с двоичными файлами, а не только с текстовыми файлами.Убедитесь, что он работает, когда обе программы находятся на одной машине, а также когда они разделены по сети.
Пока я запускаю сервер, он спрашивает, какой порт Iхочу использовать.Затем я запускаю клиент, и он спрашивает, какой IP и порт использовать.Сервер немедленно отправляет список файлов в папку «сервер» домашнего каталога.Затем я отвечаю клиенту номером файла, который хочу загрузить.Вот где я застреваю.Я не могу найти информацию о том, как это сделать.Итак, как вы можете видеть в моем коде, размещенном ниже, я пытаюсь использовать FileInputReader для преобразования файла в массив байтов.Затем я отправляю это клиенту.Затем я пытаюсь FileOutputReader получить массив байтов в файл.Но я не могу найти правильные методы для этого, или даже если я делаю это правильно.
CLIENT
int i = 0;
while(i < 1000){
String modifiedSentence = inFromServer.readLine();
System.out.println("From Server: " + modifiedSentence);
i++;
}
while(j < 1000) {
int byteString = inFromServer.read();
ArrayList<byte[]> bytes = new ArrayList<byte[]>();
bytes.add(byteString);
}
Integer byteInt = new Integer(byteString);
FileOutputStream fo = new FileOutputStream(System.getProperty("user.home")+ "/client/text.txt");
fo.write(byteInt.byteValue());
}
}
SERVER
byte[] bytes = new byte[1024];
FileInputStream fi = new FileInputStream(file.toString() + fileArray[userChoiceInt]);
fi.read(bytes, 0, 1024);
outToClient.write(bytes, 0, 1024);
}
}
}
Если бы кто-нибудь мог предложить какой-либо совет или правильные классы или методы для использования, я был бы признателен.
Заранее спасибо.