import java.io.*;
import java.net.*; class server{
public static void main(String []argv) throws Exception{
ServerSocket servsock=new ServerSocket(4444);
System.out.println("服务器启动!");
Socket sock;
    sock=servsock.accept();
    InputStream is=sock.getInputStream();
    OutputStream os=sock.getOutputStream();
    BufferedReader br=new BufferedReader(new InputStreamReader(is));
    PrintWriter pw=new PrintWriter(os);
    String line;
    while(true){
     line=br.readLine();
     if(line.equals("exit")){
     pw.println("服务器结束,程序退出");
     pw.flush();
     pw.close();
     br.close();
     sock.close();
     servsock.close();
     break;
     }
     else{
     line="C:\\Downloads\\"+line;
     System.out.println("您输入的文件名是:"+line);
     byte[] buf=new byte[512];
     //pw.println(line);
     //pw.flush();
     File f=new File(line);
     int leg=0;
     FileInputStream fis=new FileInputStream(f);
     while(( leg=fis.read(buf,0,buf.length))!=-1){
     os.write(buf,0,leg);
    
     }
     System.out.println("文件传输完成");     
     }
    
     }//end while

 }//main
}
/////////////////////////////////////////////
import java.io.*;
import java.net.*;public class client{
public static void main(String[]argv)throws Exception{
Socket sock=new Socket("localhost",4444);
InputStream is=sock.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(sock.getInputStream()));
    PrintWriter pw=new PrintWriter(sock.getOutputStream());
    BufferedReader in=new BufferedReader(new InputStreamReader(System.in));
    String instr;
    byte[] buf=new byte[512];
    
    
    while(true){
     System.out.print("输入完整文件名:");
     instr=in.readLine();
     if(instr.equals("exit"))
        break;
    
        pw.println(instr);
        pw.flush();
        File f=new File("c:\\"+instr);
        f.createNewFile();
        FileOutputStream fos=new FileOutputStream(f);
        //int total=0;
        int leg=0;
        
        while((leg=is.read(buf,0,buf.length))!=-1){
        
         fos.write(buf,0,leg);
         //total=total+leg;
        
        
         }
        fos.close();
         
     //System.out.println("服务器返回的字符串是:"+instr);
     }
   
   in.close(); 
   pw.close();
   br.close();
   is.close();
   sock.close(); 
    
    
    

}

}

解决方案 »

  1.   

    FileUploadForm fileUploadForm = (FileUploadForm) actionForm;
        FormFile uploadFile = fileUploadForm.getUploadFile();
        try
        {
          // 获得文件流
          InputStream uf = uploadFile.getInputStream();
          Socket s = new Socket("192.168.100.25", 5678);这里的uf是不是在socket建立后就能传送了,就象DataInputStream一样啊??
      

  2.   

    BufferedWriter wr = new BufferedWriter(new OutputStreamWriter(sock.
              getOutputStream()));
     wr.write("文件内容");
     wr.flush();