[TOC]前言SocketChannel方法介绍创建一个服务器对象ServerSocketChannel.open()服务器对象需要绑定ip和端口,使用bind(InetSocketAddress )方法,需要使用传入InetSocketAddress,只需传入一个端口号即可;服务器调用accept()方法获取客户端的连接请求;通过接收到的客户端连接对象read(buffer)方法获取客户端...
[TOC]一、遍历目录文件import java.io.IOException; import java.nio.file.*; import java.nio.file.attribute.BasicFileAttributes; import java.util.concurrent.atomic.AtomicInteger; /** * @author lilinchao * @...
[TOC]一、概述Files是Java1.7 在nio中新增的专门用于处理文件和目录的工具类。Files和Path配合可以很方便的完成对文件/目录的创建、读取、修改、删除等操作。二、常用方法介绍2.1 Files.exits()boolean exists(Path path, LinkOption... options)描述:方法检查一个路径是否存在于当前的文件系统中。参数:Path :传...
[TOC]一、Path介绍Path接口是java NIO2的一部分。首次在java 7中引入。Path接口在java.nio.file包下,所以全称是java.nio.file.Path。java中的Path表示文件系统的路径。可以指向文件或文件夹。Path同时也有相对路径和绝对路径之分:绝对路径:表示从文件系统的根路径到文件或是文件夹的路径。相对路径:表示从特定路径下访问指定文件或文件夹的...
将数据写入指定文件import lombok.extern.slf4j.Slf4j; import java.io.File; import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.FileChannel; import java.nio.charset.StandardCharse...
[TOC]一、概念FileChannel是一个连接到文件的通道,使用FileChannel可以从文件读数据,也可以向文件中写入数据。Java NIO的FileChannel是标准 Java IO 读写文件的替代方案。FileChannel的主要作用是读取、写入、映射、操作文件。FileChannel 只能工作在阻塞模式下。FileChannel 和 标准Java IO对比FileInputS...
[TOC]一、示例网络上有多条数据发送给服务端,数据之间使用 n 进行分隔但由于某种原因这些数据在接收时,被进行了重新组合,例如原始数据有3条为Hello,worldnI'm zhangsannHow are you?n变成了下面的两个 byteBuffer (黏包,半包)Hello,worldnI'm zhangsannHow are you?n分析本来分别将上方三条数据发送给服务端,但是...
[TOC]1. 分配内存空间可以使用allocate() 和 allocateDirect()方法为ByteBuffer分配空间,其他buffer类也有该方法allocate(): 使用的是java的堆内存,堆内字节缓冲区,读写效率低,会受到GC的影响allocateDirect():使用的是直接内存,直接内存字节缓冲区,读写效率高(零拷贝),不会受GC影响,因为是系统直接内存,所以分配内存...
[TOC]一、bytebuffer内部结构1.1 属性介绍Bytebuffer有以下重要属性:capacity(容量):缓冲区的容量。通过构造函数赋予,一旦设置,无法更改。position(指针):读写指针,记录数据读写的位置,缓冲区的位置不能为负,并且不能大于limit。limit(读写限制):缓冲区的界限。位于limit 后的数据不可读写。缓冲区的限制不能为负,并且不能大于其容量。1.2...