日期:2014-05-18  浏览次数:20761 次

【JAVA实习生求助】
客户端通过File readFile(String filepath)来从服务器上copy相应的文件到客户端,然后再返回这个File给上层程序,现在我想实现,当调用readFile()时,首先检查服务器端文件file1.txt和客户端的file1.txt是否相同,如果相同,直接返回客户端的file1.txt给调用的程序,如果不相同,则先从服务器上拷贝file1.txt覆盖客户端上的文件,然后再返回file。我是写个servlet输出文件流到response中,readFile接收文件流并在本地生成对应的文件,但是判断服务器端文件file1.txt和客户端的file1.txt是否相同,如果相同,直接返回客户端的file1.txt给调用的程序这个功能我不知道怎么实现啊,通过File.lastModified()来比较吗??但是输出的是文件流,不是文件啊···求大神解答,谢谢!!

------解决方案--------------------
为什么不把接收对象改成File
先判断时间是否相同,如果相同就不用做了。。
不同的话再用流去读呢?
另外即使是流,既然文件可以变成流,那么流是否也可以变成文件呢?
------解决方案--------------------
你还是先通过输出流把文件写到本地磁盘上在使用吧
------解决方案--------------------
获取

引用:
Quote: 引用:

你还是先通过输出流把文件写到本地磁盘上在使用吧

我是这样···但是领导要求,先判断服务器上的file和本地上的file是不是一样,如果是一样就直接返回本地上的file就可以,如果不一样才再通过输出流写到本地,然后再返回file````


写个方法获取本地文件的md5值复制前传过去在获取服务器端的文件的md5值比较一下不一样就复制下来