安全/稳妥一点可以用RMI或FTP来作。自己写代码灵活一点。1.用java肯定可以实现这个功能。
2.传输文件过程不应该是一次就把文件数据读到内存中,而是一块一块(1024/5012字节)的读和写。3.肯定会有操作字符的冲突,要作适当的转换,特别是文件名称。文件内容通过byte方式来读写可以避免这个问题。

解决方案 »

  1.   

    用rmi 来实现 作为对象传输
      

  2.   

    请问:
    用nio操作这块可行吗?
    我需要从客户端把上百个文件传到服务器。
    那些文件的后缀也不太一样
      

  3.   

    1.nio只是文件流操作,是对io包的改进和加强,不起到网络传输的作用。必需是:nio+socket或者nio+ftp或者nio+rmi或者nio+XXX...2.“我需要从客户端把上百个文件传到服务器那些文件的后缀也不太一样”。
      没有问题,通过listFiles来取文件,然后一个一个的传,文件的后缀对读写文件内容没有影响
             File file = new File("目录");
             File[] files = file.listFiles();
     ....
      

  4.   

    GJA106(中文字符)谢谢:)我大致的看了nio这个包
    里面有socket的操作类
    我就是想用它来做一个试试~
    在网上找了半天没找到例子
    我现在没有一个清晰的思路,正着急呢~
    谁要是有这方面的经验能不能说说
      

  5.   

    up,我继续up,希望能有所收获
      

  6.   

    关于NIO+socket方面能不能给点经验之谈
      

  7.   

    你用Nio+socket也是也个通讯程序。为什么不直接再服务器端建立ftp服务器呢?
    那样更安全,程序更稳定。而且也更容易实现。网上有好多ftp上传文件的代码,有了这些api你基本上没有任何代码量。如果不行的话,你还可以通过windows认证的方式进行文件copy。在程序中调用windows命令登录服务器,然后用apache提供的commons-io-1.0.jar里面的文件copy就可以了,也比较简单。如果自己写的话,那是最麻烦的。
      

  8.   

    ftp可以实现那种实时检查文件,一旦发现就自动传输的功能吗?
    我去网上看看。
    用nio的想法如果可行,看来会很麻烦,可是我总感觉即便是用ftp也会用到nio的操作还有你说的windows认证的方法copy我也是第一次听说
    我去看看如果这个贴就这么结了,我总是不甘心
    这个nio我还是想弄的明白一点,他里面的SocketChannel等等。。
    很像socket,但是又不太一样
    客户端和他连接上后怎么互相传文件呢???
    我再试试
    如果今天晚上要是没什么新收获我就结帖
    感谢两位挂星的。
    谢谢
      

  9.   

    如果文件存在就上传这个功能很简单呀,设置一个定时器(Timer),定时检查就可以了。
    nio主要是针对以前的io做了一些改进,网上这方面的东西也很多。跟socket有关的主要就是一个轮寻查找客户端的连接,解决了一起那经典模式的,一个客户端连接要建议一个线程来处理的问题。
    还有就是一些buffer功能更强大了。建议使用ftp
    或者windows中的文件copy