客户端通过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()来比较吗??但是输出的是文件流,不是文件啊···求大神解答,谢谢!!

解决方案 »

  1.   

    为什么不把接收对象改成File
    先判断时间是否相同,如果相同就不用做了。。
    不同的话再用流去读呢?
    另外即使是流,既然文件可以变成流,那么流是否也可以变成文件呢?
      

  2.   


    额··什么把接收对象改为File??我是通过HttpURLConnection连接服务器上对应的Servlet的,通过getInputStream来获得输入流的哦
      

  3.   

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

  4.   

    获取我是这样···但是领导要求,先判断服务器上的file和本地上的file是不是一样,如果是一样就直接返回本地上的file就可以,如果不一样才再通过输出流写到本地,然后再返回file````写个方法获取本地文件的md5值复制前传过去在获取服务器端的文件的md5值比较一下不一样就复制下来
      

  5.   

    我是这样···但是领导要求,先判断服务器上的file和本地上的file是不是一样,如果是一样就直接返回本地上的file就可以,如果不一样才再通过输出流写到本地,然后再返回file````写个方法获取本地文件的md5值复制前传过去在获取服务器端的文件的md5值比较一下不一样就复制下来
    谢谢,我试一下!