求高手实现以下代码(JAVA),TCP网络编程 80C

需求:应用所学技术实现 1. 客户端向服务器端请求存储一个图片 2. 服务器端进行判定,本地是否存在此图片,并将结果返回给客户端 3. 客户端根据服务器端返回的结果判定,如果服务器端存在该文件则结束程序,如果服务器端不存在该文件,则把文件上传到服务器端 4. 服务器端接收到数据然后把数据存储到服务器本地 附加需求:要求要上传的文件名是通过键盘录入的,并且要保证录入的路径是文件路径

0

2个回答

用表记录已有文件的MD5码和保存的路径,有新文件过来的话,解析他的MD5,然后查找数据库是否有记录,有就是存在了,没有就是新文件;
一般来说不是按照文件名的判断是否一个文件的

1
 public static String getMD5Three(String path) {
 2         BigInteger bi = null;
 3         try {
 4             byte[] buffer = new byte[8192];
 5             int len = 0;
 6             MessageDigest md = MessageDigest.getInstance("MD5");
 7             File f = new File(path);
 8             FileInputStream fis = new FileInputStream(f);
 9             while ((len = fis.read(buffer)) != -1) {
10                 md.update(buffer, 0, len);
11             }
12             fis.close();
13             byte[] b = md.digest();
14             bi = new BigInteger(1, b);
15         } catch (NoSuchAlgorithmException e) {
16             e.printStackTrace();
17         } catch (IOException e) {
18             e.printStackTrace();
19         }
20         return bi.toString(16);
21     }

只是客户端只对于一个用户来说 那只需判断文件是否重复 要是有分多用户的 就的分文件夹保存 然后判断此文件夹是否有这个文件

文件名可以用md5进行保存

然后通过new File("文件路径") file.isexist进行判断文件是否存在 路径=保存的文件夹+上传的md5加后缀名

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!