• java 线程通信bio nio netty


    1、socket 可以理解为传输层的一个编程规范

     

     2、bio 以stream的方式

     nio 以channel的方式

     

     nio向本地文件中写数据

    @Test  //往本地文件中写数据
        public void  test1() throws  Exception{
            //1. 创建输出流
            FileOutputStream fos=new FileOutputStream("basic.txt");
            //2. 从流中得到一个通道
            FileChannel fc=fos.getChannel();
            //3. 提供一个缓冲区
            ByteBuffer buffer=ByteBuffer.allocate(1024);
            //4. 往缓冲区中存入数据
            String str="hello,nio";
            buffer.put(str.getBytes());
            //5. 翻转缓冲区
            buffer.flip();
            //6. 把缓冲区写到通道中
            fc.write(buffer);
            //7. 关闭
            fos.close();
        }

    从本地文件读取数据

    @Test  //从本地文件中读取数据
        public void test2() throws  Exception{
            File file=new File("basic.txt");
            //1. 创建输入流
            FileInputStream fis=new FileInputStream(file);
            //2. 得到一个通道
            FileChannel fc=fis.getChannel();
            //3. 准备一个缓冲区
            ByteBuffer buffer=ByteBuffer.allocate((int)file.length());
            //4. 从通道里读取数据并存到缓冲区中
            fc.read(buffer);
            System.out.println(new String(buffer.array()));
            //5. 关闭
            fis.close();
        }

     nio网络连接demo

    java bio nio netty

  • 相关阅读:
    Java——快速排序
    Java——归并排序
    Java——递归
    Java——希尔排序
    Java——插入排序
    Java——选择排序
    ES6快速入门
    ECharts is not Loaded
    scoped的规则
    css哪些样式属性可以继承
  • 原文地址:https://www.cnblogs.com/honghong75042/p/13413168.html
Copyright © 2020-2023  润新知