Честно говоря, хотя я чувствую себя плохо, выполняя домашнее задание, у меня просто хорошее настроение :) 1001 *
В приведенном ниже коде (FileReciever) я добавил новую переменную папку, которая инициализируется из первого аргумента, переданного main (). Таким образом, имя папки, в которую вы хотите сохранить файл, должно быть передано в качестве первого аргумента. Единственная другая строка, которую я изменил:
Файл файл = новый файл (папка, имя_файла);
private String folder = "";
public static void main(String[] args) {
try {
folder = args[0];
ServerSocket listener = new ServerSocket(port);
while (true) {
FileReceiver file_rec = new FileReceiver();
file_rec.socket = listener.accept();
new Thread(file_rec).start();
}
}
catch (java.lang.Exception ex) {
ex.printStackTrace(System.out);
}
}
public void run() {
try {
InputStream in = socket.getInputStream();
int nof_files = ByteStream.toInt(in);
for (int cur_file=0;cur_file < nof_files; cur_file++) {
String file_name = ByteStream.toString(in);
File file=new File(folder, file_name);
ByteStream.toFile(in, file);
}
}
catch (java.lang.Exception ex) {
ex.printStackTrace(System.out);
}
}