Java新IO

本文介绍了 Java NIO 的核心组件及其使用方法,包括 FileChannel 的读写操作、FileLock 的文件锁定机制、字符集编码解码处理以及 Selector 的非阻塞 I/O 应用。通过示例代码展示了如何实现文件的高效读写、共享和独占锁的管理、不同字符集之间的转换以及搭建简单的非阻塞服务器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

FileChannel

FileLock ...文件锁操作 

lock(),tryLock(),

关于锁定的方式:

共享锁:允许多个线程进行文件的读取操作;

独占锁:只允许一个线程进行文件的读写操作。


字符集:有个Charset类来负责处理编码的问题,

包含了创建编码器(CharsetEncoder)和创建解码器(CharsetDecoder)的操作


Selector,构建一个非阻塞的网络服务。

之前在Socket程序的时候,服务器必须始终等着客户端的连接,造成浪费资源,所以引入了非阻塞的IO操作。

 把内容写到文件中去

 

 

读取文件

 

读取文件,写到文件中去

 

 

 

 

 

 

/**

* 对一个文件进行锁定 

* @param args FileOutputStream具有可写操作,FileInputStream找不到写操作,无法锁定

*/

 

 

进行编码,解码操作。

 

得到所有Charset编码

 

一个非阻塞的服务器端

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值