文件的上传

    xiaoxiao2021-04-14  38

    package cn.hncu.Tcp.Ex; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.Socket; //客户端代码 public class UploadTextClient { public static void main(String[] args) throws IOException { Socket s= new Socket("127.0.0.1",10005);//此处填写.服务器的ip地址 //上传文件 ---发送         //源: 磁盘文件, FileReader //目的: socket, s.getOutputStream() BufferedReader br= new BufferedReader( new FileReader("files/a.txt"));//用缓冲流去读文件 PrintWriter pw = new PrintWriter(s.getOutputStream(),true);//用打印流原样输出 String str =null; while((str=br.readLine())!=null){ pw.println(str); } //给服务器一个结束标记 s.shutdownOutput(); //接收服务器的应答消息 BufferedReader br2= new BufferedReader( new InputStreamReader(//转换流 s.getInputStream()));//得到的是字节流 String info = br2.readLine(); System.out.println("server:"+info); s.close(); } } //服务器代码 package cn.hncu.Tcp.Ex; 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 UploadTextServer { public static void main(String[] args) throws Exception { //1创建ServerSocket ServerSocket server = new ServerSocket(10005); //2获得握手方(客户端)对应的socket Socket ss =server.accept(); //3读取客户端上传的文件数据----源:socket, 目的:本地磁盘 BufferedReader br= new BufferedReader(new InputStreamReader(ss.getInputStream())); PrintWriter pw= new PrintWriter(new FileWriter("files\\abc.txt"),true); String str = null; while((str = br.readLine())!=null){ pw.println(str); } //4向客户端写应答消息 PrintWriter pw2 = new PrintWriter(ss.getOutputStream(),true);//true是不断刷 pw2.println("上传成功"); ss.close(); server.close(); } }
    转载请注明原文地址: https://ju.6miu.com/read-669669.html

    最新回复(0)