Java IO
文章平均质量分 85
今天你学习了么
这个作者很懒,什么都没留下…
展开
-
Netty
1. 基本概述1.1 什么是NettyNetty是异步的,基于事件驱动的网络应用框架,用以快速开发高性能,高可靠的网络IO程序,本质是对java的io的优化重写事件驱动: 有相应的事件发生才会去处理,不会一直阻塞等待,通常我们设置一个事件处理模型的程序有两种思路轮询方式:线程不断轮询访问相关事件发生源有没有事件发生,有发生事件就调用事件处理逻辑事件驱动方式:发生事件,主线程把事件放入事件队列,在另外线程不断循环消费事件列表中的事件,调用事件对应的处理逻辑处理事件,事件驱动方式也称为消息通知方式原创 2021-01-12 11:41:41 · 170 阅读 · 1 评论 -
NIO
攻破JAVA NIO技术壁垒Java NIO 的前生今世 之四 NIO Selector 详解1. 基本介绍Java NIO :同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询到连接有I/O请求就进行处理NIO非阻塞式IO--使用Channel代替Stream--使用Selector监控多条Channel,由于Channel的读的方法可以是非阻塞的,所以我一直监控Channel的数据是否准备好--可以在一个线程处理Chan原创 2021-01-11 11:35:16 · 205 阅读 · 0 评论 -
BIO - 同步并阻塞
1. 基本介绍BIO 是传统的java io 编程,其相关的类和接口在 java.ioBIO(blocking I/O) :同步阻塞,服务器实现模式为一个连接一个线程,即客户端有连接请求时服务器端就需要启动一个线程进行处理如果这个连接不做任何事情会造成不必要的线程开销,可以通过线程池机制改善(实现多个客户连接服务器)BIO方式适用于连接数目比较小且固定的架构,这种方式对服务器资源要求比较高,并发局限于应用中,JDK1.4以前的唯一选择,程序简单易理解2. BIO编程简单流程① 服务器端启动原创 2021-01-11 09:30:56 · 512 阅读 · 0 评论 -
File类
转载构造方法// File 一共有 4 种构造器,如下:File parentDir = new File("D://test"); // 通过目录路径字符串创建File file1 = new File("D://test//file1.txt"); // 通过文件路径字符串创建File file2 = new File(parentDir, "childDir"); // 通过指定父...转载 2020-02-12 11:23:43 · 526 阅读 · 0 评论 -
IO使用
转载1. 字节流复制文件package io2;import java.io.*;/** * * 测试复制的时间 * Create by stefan * Date on 2018-05-28 10:28 * Convertion over Configuration! */public class copy2 { //一个字节一个字节的复制,耗时22697毫秒...转载 2020-02-12 10:45:32 · 108 阅读 · 0 评论 -
IO字节流
1. IO流概述2. 字节流2.1 一切皆为字节所有的文件数据(文本,图片,视频)在存储的时候都是以二进制数字的形式存储的,都是一个一个的字节,传输的时候一样如此① 所以字节流可以传输任意文件数据② 无论使用什么样的流对象,底层的传输始终为二进制数据2.2 字节输出流OutputStreamjava.io.OutputStream 这个抽象类是表示字节输出流的所有类的超类,定义了...原创 2020-02-11 16:52:18 · 237 阅读 · 0 评论 -
IO字符流
字符流1. 字节流的问题当使用字节流读取文本文件的时候,遇到中文字符,可能不会显示完整的字符,因为一个字符会占用多个字节存储,而字节流一次只能读取一个字节2. 字符输入流Reader用于读取字符流的抽象类。 子类必须实现的唯一方法是read(char [],int,int)和close();然而,大多数子类将覆盖这里定义的一些方法,以便提供更高的效率,附加的功能或两者2.1 File...原创 2020-02-11 19:03:45 · 113 阅读 · 0 评论 -
缓冲流
1. 概述缓冲流在创建流对象的时候会创建一个内置的默认大小的缓冲数组,通过缓冲区的读写,减少系统的IO次数,从而提高读写效率2. BufferedOutputStream构造方法会给outputStream中创建一个缓冲区,提高使用的效率使用(注意要使用flush刷新)//创建FileOutputStream对象FileOutputStream fr = new FileOut...原创 2020-02-11 19:57:45 · 163 阅读 · 0 评论 -
属性集
Propertiesjava.util.Properties 继承于 Hashtable,来表示一个持久的属性集。它使用键值结构存储数据public class Properties extends Hashtable<Object,Object>Properties集合是唯一和IO流相结合的集合,可以保存到流中或从流中加载。 属性列表中的每个键及其对应的值都是一个字符串(Ke...原创 2020-03-09 10:48:45 · 358 阅读 · 0 评论 -
转换流
1. 字符编码和字符集1.1 字符编码计算机中储存的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号、汉字等字符是二进制数转换之后的结果按照某种规则,将字符存储到计算机中,称为编码反之,将存储在计算机中的二进制数按照 某种规则解析显示出来,称为解码比如说,按照A规则存储,同样按照A规则解析,那么就能显示正确的文本f符 号。反之,按照A规则存储,再按照B规则解析,就会导致...原创 2020-03-09 11:28:38 · 97 阅读 · 0 评论 -
序列化流和反序列化流
1. 概述Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该 对象的数据 、对象的类型 和 对象中存储的属性等信息字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化(使用Object类型来接收)2. ObjectOutputStream类java.io.ObjectOutpu...原创 2020-03-09 11:49:41 · 149 阅读 · 0 评论 -
打印流
打印流1. 概述平时我们在控制台打印输出,是调用 print 方法和 println 方法完成的,这两个方法都来自于 java.io.PrintStream 类,该类能够方便地打印各种数据类型的值,是一种便捷的输出方式System.out 就是 PrintStream 类型的API文档是这样写的PrintStream为另一个输出流添加了功能,即能够方便地打印各种数据值的表示。 还提供了...转载 2020-03-09 12:10:44 · 83 阅读 · 0 评论