TCP 上传文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TCP 上传文件相关的知识,希望对你有一定的参考价值。
package liu.net.udpupload; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; public class UploadClient { public static void main(String[] args) throws UnknownHostException, IOException { /* 上传文本的客户端。读取本地文本数据,发送给服务端,服务端接收完毕后,回馈“上传成功” */ System.out.println("客户端启动。。。"); //客户端 socket Socket s = new Socket("127.0.0.1",8890); //1.确定数据源,本地文件 BufferedReader bufr = new BufferedReader(new FileReader("text.txt")); //2.确定目的地 socket 输出流 //BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream())); PrintWriter pw = new PrintWriter(s.getOutputStream(),true); String line = null; while((line=bufr.readLine())!=null){ pw.println(line); } //用socket的禁用流输出方法,告诉服务端文件传说完成,否则服务端不知道文件传输完成 s.shutdownOutput(); //3.通过 socket 读取服务端返回的数据 BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream())); String lineIn = bufIn.readLine(); System.out.println(lineIn); //关闭 bufr.close(); s.close(); System.out.println("客户端关闭成功"); } }package liu.net.udpupload; import java.io.BufferedReader; import java.io.FileWriter; import java.io.IOException; 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 { //上传文本到服务端,服务端接收数据并存储到文件中,服务端接收完毕后,服务端回馈“接收成功” System.out.println("服务端启动。。。"); //1.服务端对象 ServerSocket ss= new ServerSocket(8890); //2.获取客户端 Socket s = ss.accept(); //3.获取读取流 BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream())); //4.确定目的文件 PrintWriter pw = new PrintWriter(new FileWriter("server.txt"),true); //5.频繁读写 String line = null; while((line=bufIn.readLine())!=null){ pw.println(line); } //6.给客户端返回信息 PrintWriter out = new PrintWriter(s.getOutputStream(),true); out.println("上传成功"); //7.关闭资源 pw.close(); s.close(); ss.close(); System.out.println("服务端成功关闭"); } }
以上是关于TCP 上传文件的主要内容,如果未能解决你的问题,请参考以下文章