1. FileChannel
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class SimpleChannel {
private static String SOURCE_PATH = "d:/aa/aa.txt";
private static String CLONE_PATH = "d:/bb/bb.txt";
public static void main(String[] args) throws Exception {
FileInputStream fis = new FileInputStream(new File(SOURCE_PATH));
FileChannel fcInput = fis.getChannel();
FileOutputStream fos = new FileOutputStream(new File(CLONE_PATH));
FileChannel fcOutput = fos.getChannel();
ByteBuffer dst = ByteBuffer.allocate(1024);
while(true) {
// before read clear()
dst.clear();
if(fcInput.read(dst) == -1) {
break;
}
System.out.print(new String(dst.array()));
// before write flip()
dst.flip();
fcOutput.write(dst);
}
fos.flush();
fcInput.close();
fcOutput.close();
fis.close();
fos.close();
}
}
还可以使用下面方式进行操作,在FileChannel中有两个特殊方法可以允许我们直接将两个通道相连:
long transferFrom(ReadableByteChannel src, long position, long count);
long transferTo(long position, long count, WriteableByteChannel targets);
另外
java.nio.channels.Channels类中提供了实用方法,可以在通道中产生Reader和Writer
Reader和Writer可以通过 Channels.newReader(); Channels.newWriter();
2. Charset 字符集
Charset.forName(charCode).newDecoder().decode(buffer).toString();
分享到:
相关推荐
NULL 博文链接:https://b-l-east.iteye.com/blog/1254693
为了最大程度地从这里的讨论中获益,您应该理解基本的 Java 编程概念,如类、继承和使用包。多少熟悉一些原来的 I/O 库(来自 java.io.* 包)也会有所帮助。 虽然本教程要求掌握 Java 语言的工作词汇和概念,但是不...
主要是一些关于NIO2的基本操作和内容,内容是网上下载的收集的,适合没有使用过JDK7以上版本或没有使用过新的文件操作的规范的新手。
用Java实现非阻塞通信 ,用ServerSocket和Socket来编写服务器程序和客户程序,是Java网络编程的最基本的方式。 httpcore-nio-4.3.jar包
本文主要简单介绍NIO的基本原理,在下一篇文章中,将结合Reactor模式和著名线程大师Doug Lea的一篇文章深入讨论。 NIO主要原理和适用。 NIO 有一个主要的类Selector,这个类似一个观察者,只要我们把需要探知的...
NIO用于高性能Socket编程由来已久,网络也有较为丰富的原理和源代码。我这里主要介绍几点经验总结: ...本文粘贴多线程在NIO环境下的基本运用示例代码,同时演示了一个线程如何对多个连接进行读写的操作。
01-Java NIO-课程简介.mp4 02-Java NIO-概述.mp4 03-Java NIO-Channel-概述.mp4 ...13-Java NIO-Buffer-基本使用.mp4 14-Java NIO-Buffer-三个属性和类型.mp4 15-Java NIO-Buffer-分配和读写数据.mp4
java nio 相关 ppt,介绍了 java nio 的基本概念以及和其他 io 的区别
13-Java NIO-Buffer-基本使用.mp4 14-Java NIO-Buffer-三个属性和类型.mp4 17-Java NIO-Buffer-缓冲区分片.mp4 18-Java NIO-Buffer-只读缓冲区.mp4 19-Java NIO-Buffer-直接缓冲区.mp4 21-Java NIO-Selector-概述....
nio_proxy 基本的 nio 代理
这是学习Java NIO过程中总结的核心概念,里面包含了基本的知识点,详细知识点也可以查看我的博客:pcwl_java里的Java NIO篇
NULL 博文链接:https://zhangshixi.iteye.com/blog/679959
java NIO的基本知识点学习笔记,不包含具体代码
Java NIO 源码适合初学者,里面包括通道和Buffer的基本适用,以及文件锁,和内存文件映射等等
IO 是面向流的,NIO 是面向缓冲区的 IO 流是阻塞的,NIO 流是不阻塞的 IO 没有选择器,NIO 有选择器 从编程模式上来看AIO相对于NIO的区别在于,NIO需要使用者线程不停的轮询IO对象,来确定是否有数据准备好...
包含NIO核心概念、基本文件读写、缓冲区内部实现机制、异步IO、缓冲区更多特性探究、文件锁与字符集
java snmp 源码 Java NIO java nio 简介 Java NIO(New IO)是用于Java(来自Java ...NIO提供了与原来IO ...NIO支持面向缓冲区的,基于通道的IO操作。...NIO将以更加高效的方式进行文件的读写操作。...Buffer的基本使用 通过allo
其中包括详细的文档以及有关基本机器人构建的分步指南。 功能包括对以下各项的现成支持: Bot命令 SQLite3和Postgres数据库后端 配置文件 多级日志记录 码头工人 参加端到端加密房间 使用nio-template的项目 一个...
java.util.concurrent、linux基本操作、NIO(同步、非阻塞)-Channel(通道)、Buffer(缓冲区)、Selector(选择器)
基本认证 身体倾倒 身体极限 压缩(GZip) CORS CSRF 密钥验证 方法重写 恢复 要求编号 改写 安全 削减 静态的 入门 先决条件 您至少需要在本地计算机上安装go 1.11。 正在安装 使用go get安装nio软件包 go get -...