网络编程【八】Tcp学习---文件的复制
Tcp小练习:文件的传输。
客户端:
import java.net.*;import java.io.*;public class TcpClient {public static void main(String[] args)throws Exception {Socket s = new Socket("192.168.0.124",10005);BufferedReader bufr = new BufferedReader(new FileReader("client.txt"));//BufferedWriter buOut = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));PrintWriter out = new PrintWriter(s.getOutputStream(),true);String line = null;while((line=bufr.readLine())!=null){//这里我刚开始的时候写的是out.write(line),出现问题:server.txt里面//没有东西,是空的。必须要在后面加上“\r\n”和flush刷新。//out.write(line+"\r\n");//out.flush();out.println(line);} //关闭客户端的输出流,相当于给流中加入一个结束标记-1。s.shutdownOutput();BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));String str = bufIn.readLine();System.out.println(str);bufr.close();s.close();}}import java.net.*;import java.io.*;class TcpServer {public static void main(String[] args)throws Exception {ServerSocket ss = new ServerSocket(10005);Socket s = ss.accept();String ip = s.getInetAddress().getHostAddress();System.out.println(ip+"---> connect");BufferedReader bufin = new BufferedReader(new InputStreamReader(s.getInputStream()));PrintWriter out = new PrintWriter(new FileWriter("server.txt"),true);String line = null;while((line=bufin.readLine())!=null){out.println(line);}PrintWriter pw = new PrintWriter(s.getOutputStream(),true);pw.println("上传成功");out.close();s.close();ss.close();}}
