题目如下:
编写程序实现文件上传功能。
有能力的同学可以自行设计文件下载功能,但是本次作业不要求。
服务器端:
要求能运行如下程序:
java FileServer port foldername
实际的运行命令可能为
java FileServer 1234 d:\\share
解释如下:
port为服务器开放的网络连接端口
foldername为服务器上某个文件夹,该文件夹存放客户端上传的文件。
客户端:
要求能运行如下程序:
java FileClient server_ip port afile
java FileClient server_ip port afolder
实际的运行命令可能为
java FileClient 127.0.0.1 1234 d:\\abc\\a.docx
java FileClient 127.0.0.1 1234 d:\\abc
上面的程序运行完毕后,在服务器的文件下将看到客户端上传的文件a.docx
能看到客户端上传的文件夹abc,并且abc文件夹下的所有文件和子文件夹都上传到了服务器。
假设客户端有文件夹d:\\abc,该文件夹有子文件若干,有子文件夹若干。
客户端能够将某个文件上传到服务器,也可以将某个文件夹连同文件夹下的所有子文件和子文件夹
全部上传到服务器,服务器端保存客户端的文件夹结构和文件信息。
文件传输过程要求实现内容加密,加密算法任意,可以是DES,AES,RSA之类的算法都可以。
注意:是文件在传输过程中加密,到服务器保存的时候,要求和客户端的文件内容一样,
服务器端的文件并不需要加密。
要求支持多客户端并发上传文件,不考虑文件名冲突,假设多个客户端同时上传的文件没有重名现象。
必须使用多线程编程。
1