io
Lincain
这个作者很懒,什么都没留下…
展开
-
Java NIO系列知识(三) Channel
假如我们把NIO比作整个铁路系统,Channel(通道)就是整个系统中的轨道,作为NIO的核心组件之一,其承担着传输数据的作用。和标准IO相比,我们用stream(流)来传输数据,两者的区别在于Channel是双向的,而stream是单向的。另外,可直接向stream写入数据或从中读取数据,而Channel却不能,它需要和Buffer配合使用,就像乘客不能直接在轨道上传输,需要坐在火车上(这里的火...原创 2019-04-20 22:23:53 · 294 阅读 · 0 评论 -
Java NIO系列知识(二) Buffer
Buffer(缓冲区)作为java nio的三大核心组件之一 ,担任和数据直接打交道的任务,任何数据需要传输都必须储存在Buffer中。它本质上是一块可以写入数据,然后可以从中读取数据的内存(类似现实生活中的快递站),并提供了一系列方法,用来方便的访问该块内存。Buffer的分类Buffer是一个用于储存特定基本类型数据的容器,为了应对各种数据类型,java.nio.*中为它提供了多种(包括但...原创 2019-04-16 22:45:30 · 269 阅读 · 0 评论 -
Java NIO系列知识(一) Java NIO概述
I/O(输入/输出)指的是计算机与外界或者一个程序与计算机其余部分交互的接口,相当于人的耳朵和嘴巴。在java编程中,我们最初接触到的就是以流的形式完成I/O,正如它的名字:流,所有的I/O操作都只能是单向的一个或者多个字节的移动,而且还是阻塞式的,这就造成了效率的低下和资源的浪费。为了解决这个问题,在JDK1.4中引入了新方案:Java NIO,它既可以说是New IO,也可以说是No-Blo...原创 2019-04-15 00:44:57 · 166 阅读 · 0 评论 -
Java NIO 系列知识(四) Selector
Selector可以叫做为多路复用器,当然也可以叫做选择器。它是Java NIO的核心组件之一,是NIO编程的基础。如果说Channel和Buffer是手足,那Selector就应该算是大脑。它是Java NIO中能够检测一到多个NIO通道,并能够知晓通道是否为诸如读写事件做好准备的组件。这样,一个单独的线程可以管理多个Channel,从而管理多个网络连接。具体来讲,Selector会不断地轮询...原创 2019-04-24 23:16:30 · 288 阅读 · 0 评论 -
RandomAccessFile 文件读写中文乱码解决方案
RandomAccessFile 读写文件时,不管文件中保存的数据编码格式是什么,使用 RandomAccessFile对象方法的 readLine() 都会将编码格式转换成 ISO-8859-1 所以输出显示是还要在进行一次转码。package com.lincain.random;import java.io.File;import java.io.RandomAccessFile;...转载 2019-05-30 09:41:45 · 1603 阅读 · 0 评论