正文

利用套接字在两人之间传文件2006-05-09 16:08:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/sword2008/13783.html

分享到:

 利用套接字在两人之间传文件。(文件接受方的接受目录要先创建)
文件发送方:

import java.net.*;
import java.io.*;
public class SendFile extends Thread{
     byte byteBuffer[]= new byte[1024];
     RandomAccessFile outFile;
     ServerSocket serSocket;
     OutputStream outSocket;
     Socket tempSocket;

     public static void main(String args[]){
       SendFile sf=new SendFile();
       sf.start();
       System.out.println("wait for...");
      }

      public SendFile(){
        try{
             outFile = new RandomAccessFile("33.zip","r");
             serSocket = new ServerSocket(9090);
            
        }catch(Exception e){}
      }
     
           public void run(){
                    try{
                       tempSocket=serSocket.accept();
                       outSocket=tempSocket.getOutputStream();
                       
                       int amount;
                       
                            while((amount = outFile.read(byteBuffer)) != -1){
                                   outSocket.write(byteBuffer, 0, amount);
                            }
                        System.out.println("Send File complete");
                        outFile.close();
                        tempSocket.close();
                        serSocket.close();
                       }catch(IOException e){}
          
      
           }
  }


文件接受方(test目录要先创建)
import java.net.*;
import java.io.*;
public class GetFile extends Thread{
     byte byteBuffer[]= new byte[1024];
     Socket tempSocket;
     RandomAccessFile inFile;
     InputStream inSocket;
                           
                     

     public static void main(String args[]){
       GetFile gf=new GetFile();
       gf.start();
       System.out.println("get it...");
      }

      public GetFile(){
        try{
             inFile=new  RandomAccessFile("test/33.zip","rw");
             tempSocket = new Socket("127.0.0.1",9090);
             inSocket= tempSocket.getInputStream();
        }catch(Exception e){}
      }
     
           public void run(){
                       int amount;
                       try{
                           while((amount =inSocket.read(byteBuffer) )!= -1){
                              inFile.write(byteBuffer, 0, amount);
                            }
                        inSocket.close();
                        System.out.println("Get OK");
                        inFile.close();
                        tempSocket.close();
                       }catch(IOException e){}

          
      
           }
  }

来源: java学习室

阅读(4953) | 评论(1)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

loading...
您需要登录后才能评论,请 登录 或者 注册