JavaI/O
我会努力变强的
这个作者很懒,什么都没留下…
展开
-
Java网络编程之Socket和ServerSocket详解
SocketSocket是实现客户端套接字的类,套接字是两台计算机之间进行通信的端点。Socket的实际工作由SocketImpl类的实例执行 。通过更改用于创建套接字实现的套接字工厂,应用程序可以配置自身以创建适合于本地防火墙的套接字。常用API详解:获取方法://创建一个未连接的套接字,需要用相应成员方法进行连接才能使用。public Socket()//传入一个ip和端口进行创建套接字并进行连接public Socket(String host, int port)//传入一个I原创 2020-05-23 18:49:48 · 1290 阅读 · 0 评论 -
Java NIO学习篇之直接缓冲区和非直接缓冲区
定义原创 2020-05-23 16:36:13 · 1394 阅读 · 2 评论 -
Java NIO学习篇之缓冲区CharSet详解
定义:CharSet是java nio对编码解码的解决方案,专门负责字符的编码和解码。原创 2020-05-22 17:37:42 · 835 阅读 · 0 评论 -
Java NIO学习篇之通道FileChannel详解
定义:FileChannel是Java NIO对应于磁盘等存储设备文件操作的通道。常用API详解:获取FileChannel的API/*** 打开一个与文件的连接通道,用于进行文件操作。* path:path,文件的路径对象,可用Path.get("文件路径"),获取。* options:通道的操作参数。通常使用实现类枚举StandardOpenOption指定。* attrs:创建文件时自动设置的文件属性的可选列表,比如读写执行。*/public static FileChannel原创 2020-05-22 11:57:19 · 1158 阅读 · 0 评论 -
Java NIO学习篇之PosixFilePermission详解
定义:PosixFilePermission是一个枚举类,代表着文件的基本权限。public enum PosixFilePermission { /** * 文件所有者的读权限 */ OWNER_READ, /** * 文件所有者写权限。 */ OWNER_WRITE, /** * 文件所有者执行权限 */ OWNER_EXECUTE, /** * 文件所属组成员读权限原创 2020-05-21 21:12:20 · 1221 阅读 · 0 评论 -
Java NIO学习篇之StandardOpenOption详解
定义:StandardOpenOption是一个枚举类,代表着文件连接时的标准选项。通常可以多个选项一起使用。public enum StandardOpenOption implements OpenOption { /** * 以读的方式连接文件。 */ READ, /** * 以写的方式连接文件。 */ WRITE, /** * 以追加的方式连接文件,不会覆盖文件原本内容,在后面追加。 */原创 2020-05-21 21:08:10 · 5368 阅读 · 3 评论 -
Java NIO学习篇之通道Channel详解
定义:Channel:管道,运输的介质,可以大致比喻成铁路的铁轨,不过他连接的不是数据源,连接的是缓冲区Buffer。与传统IO的Stream比较:NIO通道可以异步读写,而传统IO的Stream不能。NIO通道里面的数据一定是先读到缓冲区或者先写到缓冲区的,不能直接面向数据源;而传统IO的Stream既可以面向缓冲区,也可以直接面向数据源。Channel的实现:java.nio.channels.Channel是一个接口,他有一些常用的实现类:FileChannel: 从文件读写数据原创 2020-05-21 18:38:58 · 2590 阅读 · 0 评论 -
Java NIO学习篇之缓冲区ByteBuffer详解
定义:ByteBuffer是Buffer的实现类之一,是一个通用的缓冲区,功能要比其他缓冲区子类多。支持直接内存。是一个抽象类。子类实现是HeapByteBuffer(非直接缓冲区子类),DirectByteBuffer(直接缓冲区子类)。看此文前建议看看:关于Buffer可以查看 Java NIO学习篇之缓冲区Buffer详解直接缓冲区:以上是书《深入理解Java虚拟机》对直接内存的描述。简单来说直接内存不是JVM内存,而是计算机真正的物理内存。我们IO中有个步骤是:读:把内核缓冲原创 2020-05-20 20:50:41 · 1690 阅读 · 0 评论 -
Java NIO学习篇之缓冲区Buffer详解
定义缓冲区Buffer在java nio中负责数据的存储,缓冲区就是数组,用于存储不同类型数据的数组。jdk为java七大基本类型数据都准备了响应的缓冲区(boolean值除外):ByteBufferCharBufferShortBufferIntegerBufferLongBufferFloatBufferDoubleBuffer上述缓冲区除了ByteBuffer的 功能稍微多点外,因为ByteBuffer是通用的,所以功能会比较多。其他6种的使用方式几乎是一致的。/** Bu原创 2020-05-20 18:02:17 · 735 阅读 · 0 评论 -
Java NIO学习篇之NIO的基本认识
定义:NIO:是从jdk1.4提出的,本意是New IO(相对于传统的IO),也叫 No Blocked IO(只相对于网络IO),它的出现弥补传统IO的不足,提出了更加高效的方式。NIO对于网络IO而言:jdk1.4:采用了基于select/poll的多路复用IO模型。jdk1.5及以上:采用了基于epoll的多路复用IO模型。NIO对于文件IO而言:NIO对基于文件的IO还是阻塞模型的IO。只有基于网络IO才是非阻塞的。NIO的新特性:基于通道(Channel)和缓冲区(Buffer)原创 2020-05-18 19:56:40 · 202 阅读 · 0 评论 -
彻底搞懂阻塞、非阻塞、同步、异步
原文IO 概念区分:四个相关概念:同步(Synchronous)异步( Asynchronous)阻塞( Blocking )非阻塞( Nonblocking)这四个概念的含义以及相互之间的区别与联系,并不如很多网络博客所写的那么简单, 通过举一些什么商店购物, 买书买报的例子就能讲清楚。进程间通信的同步/异步, 阻塞/非阻塞首先强调一点, 网络上很多博文关于同步/异步, 阻塞非阻塞区别的解释其实都经不起推敲。 例如在 严肃 的这一高赞回答中 , 有如下解释(不准确):同步/异步关转载 2020-05-14 17:15:03 · 2086 阅读 · 0 评论 -
Java I/O体系详细讲解
注意:此文侧重讲解Java的IO体系,至于具体API功能会在后面的文章详细讲解。I/O以及I/O流的定义:I/O实际上是Input/Output,也就是输入/输出,输入指的是从存储设备中读取数据,比如从磁盘读取数据到内存中;输出指的是把数据回写到存储设备中,比如把内存中的数据回写到磁盘中。流是一种抽象概念,可以类比成水流,而数据类比成水,数据流的传递可以类比成水流的传输,是一种无结构化的...原创 2020-05-08 18:36:49 · 338 阅读 · 0 评论 -
Java IO之File类详解
非原创 2020-05-08 18:21:56 · 598 阅读 · 0 评论 -
Java I/O体系之Writer和Reader详细讲解
介绍:Writer是字符输出流的基类,Reader是字符输入流的基类。这两个类的实现类基本都是成对存在的,下面就成对讲解。字节流与字符流区别请查看:字节流和字符流的区别体系图:...原创 2020-04-29 22:29:14 · 967 阅读 · 0 评论 -
Java I/O体系之OutputStream和InputStream详细讲解
f原创 2020-04-27 21:41:02 · 986 阅读 · 0 评论 -
Java I/O之字节流与字符流的区别
字节流与字符流的区别:上图解析:字节输出流是直接把字节数据写出到磁盘或其他设备上,而字符输出流会先把字符输出流按一定的编码规则进行编码成二进制的字节输出流再写出到磁盘或其他设备上。字节输入流每次读取一个字节数据到内存(也可以使用缓冲区一次读取多个),而字符输入流是每次读取多个字节的数据到内存中,然后对读取的字节数据按照一定的编码规则进行解码,然后形成文本数据。总的来说,系统到磁盘或者其...原创 2020-04-26 18:17:06 · 885 阅读 · 0 评论