服务器端:
package com.hanqi.test; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket; public class Testserver1 { public static void main(String[] args) { // 建立服务器,启动监听 try { System.out.println("服务器启动"); ServerSocket ss3=new ServerSocket(83); Socket sc=ss3.accept(); System.out.println("服务器收到客户连接请求。"); //从客户端获取文件数据 InputStream in=sc.getInputStream(); //将读取的文件写入e盘 FileOutputStream out=new FileOutputStream("e:/test.rar"); //边度边写 byte[]b=new byte[1024]; int i=0; while((i=in.read(b))>0) { out.write(b, 0, i); } out.close(); in.close(); sc.close(); ss3.close(); System.out.println("复制成功"); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }
客户端:
package com.hanqi.test; import java.io.FileInputStream; import java.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException; public class TestClient2 { public static void main(String[] args) { // 客户端 try { Socket sc=new Socket("127.0.0.1", 83); //客户端链接服务器成功 //向客户端发送文件数据 OutputStream out=sc.getOutputStream(); //从本地读取文件 FileInputStream in=new FileInputStream("d:/ceshi.txt"); //边度边写 byte[]b1=new byte[1024]; int i=0; while((i=in.read(b1))>0) { out.write(b1, 0, i); } System.out.println("发送完毕"); in.close(); out.close(); sc.close(); } catch (UnknownHostException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } catch (IOException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } } }