1、建立SOCKET连接
2、先传送文件的名称
3、以二进制流的方式传送文件内容

解决方案 »

  1.   

    发送端:
    Socket sout = ......File file = new File(filename);
    FileInputStream fin = new FileInputStream(file);
    byte buf[]=new byte[50000];
    int len = fin.read(buf);
    while(len > -1){
    sout.write(buf, 0, len);
    len = fin.read(buf);
    }
    fin.close();接收端:
    PostDataLen为总的传递字节数
    in为一Socketbyte[] ch = new byte[2048];
    int readLen = 0;
    int len = 0;
    while(PostDataLen > 0){
    readLen = (PostDataLen > 2048)?2048:PostDataLen;
    len = in.read(ch, 0, readLen);
    postbuf.append(ch, 0, len);
    PostDataLen -= len;
    }
      

  2.   

    发送方:
    BufferedReader in = 
            new BufferedReader(
              new FileReader(filename));BufferedWriter out = new BufferedWriter(
                new OutputStreamWriter(
                  socket.getOutputStream()));
    int i = 0;
    while ((in = in.read())!= -1)
    { out.write(i);
    }
    out.flush();
    out.close();
    in.close();接受方与发送方类似
      

  3.   

    欢迎来我的中家聊天室,http://hnchat.126.com,我用java写的一个聊天室 :)
      

  4.   

    利用数据报包在网上传输流对象
    ObjectInputStream is;
    ServerSocket servSock = new ServerSocket(6000);
    Sock sock;sock = servSock.accept();
    is = new ObjectInputStream( new
    BufferedInputStream(sock.getInputStream()));
    Factory o = (Factory)is.readObject();