摘要: 转自:https://www.cnblogs.com/aspirant/p/8630283.html 一、概念 NIO即New IO(非阻塞IO),这个库是在JDK1.4中才引入的。NIO和IO有相同的作用和目的,但实现方式不同,NIO主要用到的是块,所以NIO的效率要比IO高很多。在Java AP 阅读全文
posted @ 2018-10-21 11:42 Hermioner 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 一. 序列化和反序列化的概念 对象序列化:把对象转换为字节序列的过程 对象反序列化:把字节序列恢复为对象的过程 1. 为何要进行序列化 我们知道当虚拟机停止运行之后,内存中的对象就会消失。在很多应用中,需要对某些对象进行序列化,让他们离开内存空间,进入物理硬盘,便于长期保存。例如,最常见的是WEB服 阅读全文
posted @ 2018-10-18 20:38 Hermioner 阅读(266) 评论(0) 推荐(0) 编辑
摘要: Java的System类提供了一些简单的静态方法调用,以允许我们对标准输入、输出和错误I/O流进行重定向: setIn(InputStream) setOut(PrintStream) setErr(PrintStream) 如果我们突然开始在显示器上创建大量输出,而这些输出滚动得太快以至于无法阅读 阅读全文
posted @ 2018-10-18 20:38 Hermioner 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 一. 源码结构 我们可以看到它的父类是Object,没有继承字节流、字符流家族中任何一个类。并且它实现了DataInput、DataOutput这两个接口,也就意味着这个类既可以读也可以写。RandomAccessFile 是随机访问文件(包括读/写)的类。它支持对文件随机访问的读取和写入,即我们可 阅读全文
posted @ 2018-10-18 20:37 Hermioner 阅读(270) 评论(0) 推荐(0) 编辑
摘要: Java中的流是个抽象的概念,当程序需要从某个数据源读入数据的时候,就会开启一个数据流,数据源可以是文件、内存或网络等等。相反地,需要写出数据到某个数据源目的地的时候,也会开启一个数据流,这个数据源目的地也可以是文件、内存或网络等等 一. 字符流的引入 正如字节流中所看到的,有时候当一个中文字符含有 阅读全文
posted @ 2018-10-18 20:36 Hermioner 阅读(647) 评论(0) 推荐(0) 编辑
摘要: 一.流的分类 1、从功能上:输入流、输出流 2、从结构上:字节流、字符流 3、从来源上:节点流、过滤流 其中InputStream/OutputStream是为字节流而设计的,Reader/Writer是为字符流而设计的。处理字节或者二进制对象使用字节流,处理字符或者字符串使用字符流。 在最底层,所 阅读全文
posted @ 2018-10-18 20:36 Hermioner 阅读(720) 评论(0) 推荐(0) 编辑
摘要: IO概述 Java IO 是一套Java用来读写数据(输入和输出)的API。大部分程序都要处理一些输入,并由输入产生一些输出。Java为此提供了java.io包。 Java的IO包主要关注的是从原始数据源的读取以及输出原始数据到目标媒介。以下是最典型的数据源和目标媒介: 文件 管道 网络连接 内存缓 阅读全文
posted @ 2018-10-18 20:30 Hermioner 阅读(168) 评论(0) 推荐(0) 编辑
摘要: Java7中的文件IO发生了很大的变化,引入了很多新的类,可以去看java.nio.file包。比如:1.7之前主要是通过File创建一个文件,然后将File作为输入参数,获取输入流等操作。而1.7开始,就采用了Path接口代替File类,且Files作为操作了,里面定义了很多非常有用的API。并且 阅读全文
posted @ 2018-10-10 17:12 Hermioner 阅读(273) 评论(0) 推荐(0) 编辑
摘要: JDK1.7之前用的是java.io.File,File是一个实用类库工具,它可以帮助我们处理文件目录问题。它可以将一个实际磁盘文件或目录对应到一个Java对象。Java中使用File来抽象一个文件,无论是普通文件或是目录,都可以对应一个File对象。它只是抽象的代表了磁盘上的某个文件或目录,内部实 阅读全文
posted @ 2018-10-09 21:26 Hermioner 阅读(148) 评论(0) 推荐(0) 编辑
摘要: enum 的全称为 enumeration, 是 JDK 1.5 中引入的新特性,存放在 java.lang 包中。它是一个看似很小的特性,它使得我们在需要群组并使用枚举类型集时,可以很方便地处理。(note:可选值固定在某个范围时使用)。 一. 枚举的引入 1. 未引入枚举之前 假如有以下需求需要 阅读全文
posted @ 2018-10-08 20:38 Hermioner 阅读(271) 评论(0) 推荐(0) 编辑