zoukankan      html  css  js  c++  java
  • Java网络编程

    1、Client

    package cn.qi.Client;
    
    import java.io.*;
    import java.net.Socket;
    
    public class Client {
        Socket clientSocket;
        Client() {
            // 建立连接到服务器端的socket
            try {
                clientSocket = new Socket("127.0.0.1", 5000);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void readFileAndSent() throws IOException {
            OutputStream os = clientSocket.getOutputStream();
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(os));
    
            // 读文件
            String path = this.getClass().getClassLoader().getResource("./prop/text.txt").getPath();
            FileReader fr = new FileReader(path);
            BufferedReader br = new BufferedReader(fr);
            String str = null;
            while((str = br.readLine()) != null) {
                System.out.println(str);
                // 每读一行,写一行
                bw.write(str);
                // 获取当前OS的换行符并写入
                bw.write(System.getProperty("line.separator"));
                bw.flush();
            }
    
            // 关闭流
            bw.close();
            br.close();
            fr.close();
    
            clientSocket.close();
        }
    }

    2、Server

    package cn.qi.Server;
    
    import java.io.*;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
        ServerSocket serverSocket;
        Server() {
            // 建立severSocket,监听对应端口
            try {
                serverSocket = new ServerSocket(5000);
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    
        public void readFileAndWrite() throws IOException {
            // 获取写入路径
            String path = this.getClass().getClassLoader().getResource("./prop/").getPath();
            // 服务器端写文件
            FileWriter fw = new FileWriter(path+"textSocket.txt");
            BufferedWriter bw = new BufferedWriter(fw);
    
            // 写的内容来自网络端
            while (true) {
                Socket socket = serverSocket.accept();
                InputStream is = socket.getInputStream();
                BufferedReader br = new BufferedReader(new InputStreamReader(is));
                String str = null;
                while((str = br.readLine()) != null) {
                    // 读到了客户端发送的信息
                    bw.write(str);
                    // 获取当前OS的换行符并写入
                    bw.write(System.getProperty("line.separator"));
                    bw.flush();
                }
    
                // 关闭流
                br.close();
    
                socket.close();
            }
        }
    }
  • 相关阅读:
    利用CSS计数函数counter()实现计数
    弹跳加载动画特效Bouncing loader
    HTML页面中解决内容元素随窗口变化布局变乱问题
    CSS中列表项list样式
    框模型中设置内容区域元素占地尺寸box-sizing属性
    PHP100视频教程-->视频下载
    HTML页面中5种超酷的伪类选择器:hover效果
    HTML中获取input中单选按钮radio数据(性别例子)
    HTML中 DOM操作的Document 对象详解(收藏)
    14、输入一个链表,从尾到头打印链表每个节点的值。
  • 原文地址:https://www.cnblogs.com/GjqDream/p/11624327.html
Copyright © 2011-2022 走看看