Socket_复制文件

Client 客户端
/**
 * 功能:复制txt文件
 */

package UploadTest;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.Socket;

public class UploadClient {

	public static void main(String[] args) throws Exception {
		// TODO Auto-generated method stub

//		System.out.println( InetAddress.getLocalHost());  //获取Ip地址
		
		Socket s=new Socket("***,***,***,***",10000);  //指定ip、端口
		BufferedReader bufr=new BufferedReader(new FileReader(new File("client.txt")));  //读取文件
		PrintWriter  out= new PrintWriter(s.getOutputStream(),true);  //输出流、true自动刷新
		String len=null;                                                  
		while((len=bufr.readLine())!=null){
			out.println(len);
		}
		s.shutdownOutput();     	//告诉服务端,客户端写完了。
		
		
		//接受Server端返回信息
		BufferedReader br=new BufferedReader(new InputStreamReader(s.getInputStream()));
		System.out.println(br.readLine());
		br.close();
		bufr.close();
		s.close();
	}

}
 

Server 服务器端

package UploadTest;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class UploadServer {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub

		ServerSocket ss=new ServerSocket(10000);
		Socket s=ss.accept();
		String ip=s.getInetAddress().getHostName();
		System.out.println(ip+">>>>connect");
		//接受client端数据流
		BufferedReader bufr=new BufferedReader(new InputStreamReader(s.getInputStream() ));
		//写入新文件
		BufferedWriter bufw=new BufferedWriter(new FileWriter("server.txt"));
		String len=null;
		while((len=bufr.readLine())!=null){
			bufw.write(len);
		}
		
		
		//给Client返回信息
		PrintWriter out=new PrintWriter(s.getOutputStream(),true);
		out.println("OK");
		bufw.close();
		bufr.close();
		s.close();
		ss.close();
	}

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值