TCP-上传文本文件

    xiaoxiao2025-06-01  28

    //TCP-上传文本文件 import java.io.*; import java.net.*; class TextClient { public static void main(String[] args) throws Exception { Socket s = new Socket("192.168.1.254",10006); BufferedReader bufr = new BufferedReader(new FileReader("IPDemo.txt"));//缓冲读取流(文件读取流) //这里的输出流会 送到 服务端,是否跟服务端关联,关键看参数里面是否带了(s.getOutputStream()) PrintWriter out = new PrintWriter(s.getOutputStream(),true);//向文本输出流打印对象的格式化表示形式。此类实现在 PrintStream 中的所有 print 方法。(自动刷新) /*//拿时间戳作结束标记,关联Socket流 //DataOutputStream dos = new DataOutputStream(s.getOutputStream()); //long time = System.currentTimeMillis(); //out.println(time); //dos.writeLong(time);*/ String line = null;//line作缓存 while ((line= bufr.readLine())!=null)//循环条件里面 缓冲读取流bufr调用readLine(),String readLine() 读取一个文本行。非空,则持续读取文本行 { out.println(line);//向文本输出流out写数据line // void println(String x) // 打印 String,然后终止该行。 } s.shutdownOutput();//关闭客户端的输出流,相当于给流中加入一个结束标记-1. //返回值void, shutdownOutput()方法 禁用此套接字的输出流。 /*//out.println("over");//自定义结束标记 //dos.writeLong(time);*/ //输入流Socket流 接收服务端 数据,参数(s.getInputStream()) BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream())); String str = bufIn.readLine();//变成字符串 System.out.println(str);//打印字符串 bufr.close(); s.close(); } } class TextServer { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(10006);//服务端 Socket s = ss.accept();//等待客户端连接,获取客户端s String ip = s.getInetAddres().getHostAddress(); System.out.println(ip="...connected"); DataInputStream dis = new DataInputStream(s.getInputStream()); long l = dis.readLong(); //网络输入流,读取客户端的数据, 返回值InputStream, Socket方法getInputStream() ,返回此套接字的输入流。 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) { //if ("over".equals(line))//自定义结束标记 //if (time.equals(l))//自定义结束标记 //break; out.println(line); } //输出流,返回给客户端的信息数据 PrintWriter pw = new PrintWriter(s.getOutputStream().true); pw.println("上传成功"); out.close(); s.close(); ss.close(); } }
    转载请注明原文地址: https://ju.6miu.com/read-1299495.html
    最新回复(0)