加入一个按钮,这个按钮注册一个弹出JFileChooser,具体这样: 
if(e.getActionCommand().equals("上传")){                    //e是 Actionevent,"上传"是按钮的标签   JFileChooser fileChooser = new JFileChooser(); 
  int i = fileChooser.showOpenDialog(this.sf); 
  //sf.jd.setVisible(false);   if(i==JFileChooser.APPROVE_OPTION){     File selectedFile = fileChooser.getSelectedFile(); 
    JTextField tf = new JTextField(); 
    tf.setText(selectedFile.getName()); 
    sf.tf.setText(selectedFile.getAbsolutePath()); //获得文件路径,sf是聊天窗口,是个主类,sf.tf是sf中的一个JTextFiled,从这儿得到的路径可以在sf.tf中显示,然后"发送"按钮就可以将文件名读进去,再传输到另一方.     } 
} 问题的关键是如何将文件名传到另一方呢?具体该如实现呢?不知高人愿意给出解释吗?不胜感激啊!!!!!!!!!

解决方案 »

  1.   

    碰到同样一个帖子....
    baidu了一下:http://hi.baidu.com/ziheng65/blog/item/f4abfe22189b82a14723e8f1.html
      

  2.   

    使用文件类File找到文件大小,每次通过Socket发送字节数记录,就实现了 while(x<file.length()) 
    x=x+size; //size是每次发送的缓冲字节数 
      

  3.   

    文件传输,可以通过Socket直接发送Stream就行了。发送方想OutputStream写入,
    接收方从InputStream里读取

      

  4.   

    i  not used it   but i love it 
      

  5.   


    这些很难用一言两语解释清楚,最好还是去看资料。既然你可以上网,为什么不去搜索呢?我之前也回答过你好多次了,不知你是仔细看了呢还是一眼飘过....给你代码吧,多了又不愿仔细看,原理你都不知道肯定也看不懂。我只能告诉你,java中这类功能肯定是通过socket实现,我也只能跟你说到这份上了。接下来就去查资料吧!JAVA SCOKET!!!!!!!
    JAVA SCOKET!!!!!!!
    JAVA SCOKET!!!!!!!
      

  6.   

    sorry, 太冲动了,居然把socket写成了scoket..... -_-!!
      

  7.   

    嗬嗬。怎么样把文件写入到流里面,而且是什么时候发生完成并关闭流呢,客户端怎么知道是文件还是字符串呢?要是不同意接受呢?怎么接受呢?能否详细的解释一下,感谢了!!!!!!!!以上的这些还不算重要最重要的是怎么样给另外一个客户端发送传输文件的消息呢?让他那方弹出一个选择对话框,是否同意接受。这两个客户端是通过服务器建立的TCP连接,有没有重新再建立一个专门用来传文件的TCP连接。谢谢啊!
      

  8.   

    怎么样给另外一个客户端发送传输文件的消息呢?sendSingle()方法该怎么样实现呢?????
    让对方方弹出一个选择对话框,是否同意接受。其中
    这两个客户端是通过服务器建立的TCP连接,有没有重新再建立一个专门用来传文件的TCP连接。 谢谢大伙  了。
      

  9.   

    你可以getinputstream后分析一下里面的内容,可以找到你要的相关信息的,再取出来就是了.如:用TXT存储这个流试试,应该在某一行会有你要的 文件名 在里面的.
      

  10.   

    在大家的热情帮助下,我文件传输成功了。谢谢大家!!!!我用的是C/S S/C模型,有一个客户端发送消息,经由服务器转发至每个客户端,所以,我在客户端发送信息的时候,加上本客户端的端口好,再由服务器转发,发至客户端时在将端口号分离出来,然后和自己的端口好比较,如果和自己的端口号相等就不做任何处理,不相等的话,就证明是传输文件的信号,就启动接受文件线程。接着建立,文件传输TCP连接。接着就可以传输文件啦!
    最后还要感谢大家的热忱相助。
    衷心的表示感谢!!!