各位高人:    某接到一需求:
    
    要求实现原始文件到文件服务器的上载及下载功能,上载过程不能使用文件流方式。    客户要求的方式是:将文件“原封不动”的从客户端“搬”到文件服务器,而不是先将原始文件解析成文件流,而后在服务器生成一个“新”文件,中间会经过防火墙。    由于客户方认为:使用“流”上载文件,是先读取客户要上载的文件,然后通过流的输入输出,在服务器生成一个新的文件,虽然看似是将原始文件上传,但是其输入输出过程中,难免会出现编码错误,因此这种方式下,上传前与上传后的文件可能不是100%完全相同。
    
    在线等待达人指教或提供资料。
    
    

解决方案 »

  1.   

    客户不相信java的流操作?那不用java直接操作流,用java调用第三方ftp来做?Else,让客户shit去吧。
      

  2.   

    感谢各楼的回复!我也查了ftp方式的具体的实现代码,但是还没有找到这种方式下是完全拷贝原始文件的理论佐证。
    欢迎提供这方面的资料。
      

  3.   

    JAVA用TFTP。
    流在传输过程理论上会变化,但是可以用MD5来校验数据的一致性。
    LZ可以试图把客户说服。因为客户的担忧是完全可以避免的
      

  4.   

    任何的复制操作都是文件流吧。不走流。。怎么COPY。。他的意思是一次性全部搬过去?细节不是流啊
      

  5.   

    汗~
    就算简单的COPY PASTE也是走流的形式
    怎么个原封不动法?
    那只能直接拆客户端硬盘搬到服务器了,
    做开发不能完全被客户牵着鼻子走,遇到像楼主这样的客户你就等着煎熬吧
    你要引导客户,让他们放弃不切实际的想法
      

  6.   

    楼主啊! 要否定掉客户的不合理需求啊。这是一个需求人员必须要有的素质!好吧 。如果你实在否定不掉,你可以编个技术名,就说最先进的,最好的,最稳定的。。然后。你懂的。。 不要管他们。。
    就算是WINDOWS的复制一样是走文件流 明白? 
      

  7.   

    关键是:投标阶段,他们自称他们知道如何实现,是想考考我们,⊙﹏⊙b汗。据最新了解,估计是需要ftp的方式,同时还可以结合MD5的校验。
      

  8.   

    难道FTP不是流??客户需求的关键是确保文件上传的准确性。那只有直接使用字节流才是最安全的,MD5或者奇偶校验等属于锦上添花。
    老实说,FTP如果设置不正确,那才会导致文件上传不一致。比如“abcd\rxyz\n12345\r\nhahahahaha!”,保存完文件为27字节。如果不做任何设置,使用默认参数,在很多环境下(包括直接用put命令以及各种客户端)会在windows服务器上得到29字节,所有的换行都变成了\r\n。一定需要设置二进制传输,才能确保传输正确。确保上传文件和原始文件“100%完全相同”是“目标”,用所谓的“流”还是FTP,那只是“手段”。舍本而逐末,可乎?!
      

  9.   

    另外,由上面FTP ASCII/BINARY 模式引出了另外一个问题。LZ,包括你们的客户,是不是把流理解成了java.io.Writer/Reader,特别是BufferedWriter/Reader了???只有那个才存在“但是其输入输出过程中,难免会出现编码错误”。For god's sake, use java.io.InputStream/OutputStream
      

  10.   

    你们客户的 思想真超前啊    就算你拿个U盘   不是  就算你从客户的C盘把文件复制到 D盘 他也是 流操作
      

  11.   

    感谢各位踊跃发言,深受启发!他们应该是不想使用java的IO流操作,据说最近他们需要上线整个集团统一管辖的文件服务器,可能是想让我们按照他们的方式实现文件上传。关于他们是不是该回火星的论题,我真想给你们一个肯定的答复。
      

  12.   

    如果是windows系统,可以在上面写批处理,然后再程序里面调用,
      

  13.   

    任何文件的COPY 都是流操作
      

  14.   


    FTP 是基于 TCP 通信的,TCP 中的数据传输用的就是 Socket 输入输出流!不要说是 Java 了,就算其他语言也是采用流进行 IO 操作的,不采用流而进行 IO 操作,这种东西至少在用的系统中是不存在的。我不明白的是用不用流跟文件完不完整、乱码这些都八竿子打不着边的东西,不知道咋会说到一起去。佩服你们的客户,更佩服你们的技术团队!