博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
通道Channel-使用NIO 写入数据
阅读量:2163 次
发布时间:2019-05-01

本文共 1037 字,大约阅读时间需要 3 分钟。

使用NIO 写入数据与读取数据的过程类似,同样数据不是直接写入通道,而是写入缓冲区,可以分为下面三个步骤:

1. 从FileInputStream 获取Channel。

2. 创建Buffer。

3. 将数据从Channel 写入到Buffer 中。

import java.io.*;import java.nio.*;import java.nio.channels.*;public class FileInputDemo {	static public void main( String args[] ) throws Exception {		FileInputStream fin = new FileInputStream("E://test.txt");		// 获取通道		FileChannel fc = fin.getChannel();		// 创建缓冲区		ByteBuffer buffer = ByteBuffer.allocate(1024);		// 读取数据到缓冲区		fc.read(buffer);		buffer.flip();		while (buffer.remaining() > 0) {			byte b = buffer.get();			System.out.print(((char)b));		}		fin.close();	}}

下面是一个简单的使用NIO 向文件中写入数据的例子:

import java.io.*;import java.nio.*;import java.nio.channels.*;public class FileOutputDemo {	static private final byte message[] = { 83, 111, 109, 101, 32,	98, 121, 116, 101, 115, 46 };	static public void main( String args[] ) throws Exception {		FileOutputStream fout = new FileOutputStream( "E://test.txt" );		FileChannel fc = fout.getChannel();		ByteBuffer buffer = ByteBuffer.allocate( 1024 );		for (int i=0; i

 

转载地址:http://itbzb.baihongyu.com/

你可能感兴趣的文章
A星算法详解(个人认为最详细,最通俗易懂的一个版本)
查看>>
利用栈实现DFS
查看>>
逆序对的数量(递归+归并思想)
查看>>
数的范围(二分查找上下界)
查看>>
算法导论阅读顺序
查看>>
Windows程序设计:直线绘制
查看>>
linux之CentOS下文件解压方式
查看>>
Django字段的创建并连接MYSQL
查看>>
div标签布局的使用
查看>>
HTML中表格的使用
查看>>
(模板 重要)Tarjan算法解决LCA问题(PAT 1151 LCA in a Binary Tree)
查看>>
(PAT 1154) Vertex Coloring (图的广度优先遍历)
查看>>
(PAT 1115) Counting Nodes in a BST (二叉查找树-统计指定层元素个数)
查看>>
(PAT 1143) Lowest Common Ancestor (二叉查找树的LCA)
查看>>
(PAT 1061) Dating (字符串处理)
查看>>
(PAT 1118) Birds in Forest (并查集)
查看>>
数据结构 拓扑排序
查看>>
(PAT 1040) Longest Symmetric String (DP-最长回文子串)
查看>>
(PAT 1145) Hashing - Average Search Time (哈希表冲突处理)
查看>>
(1129) Recommendation System 排序
查看>>