- 浏览: 24959 次
文章分类
- 全部博客 (35)
- linux (0)
- basedaoimpl 1 (0)
- basedao (1)
- basedaoimpl 2 (0)
- basedaoimpl 3 (0)
- basedaoimpl 4 (0)
- basedaoimpl 5 (0)
- basedaoimpl 6 (0)
- basedaoimpl 7 (0)
- htmlservlet1 (0)
- htmlservlet2 (0)
- htmlservlet3 (0)
- htmlservlet4 (0)
- excle1 (0)
- excle2 (0)
- pdf1 (0)
- pdf2 (0)
- servletutil1 (0)
- servletutil2 (0)
- servletutil3 (0)
- ziputil1 (0)
- ziputil2 (0)
- 项目管理以及统计工具 (0)
- linux命令总结 (0)
- 经典回答 (0)
- TR点设置 (0)
- TR点设置2 (0)
- 枚举 (1)
- tomcat5.5.xx以上 (1)
- 标准的写法遍历Map (1)
- 线程安全 (1)
- sql (1)
- 转义字符 (1)
- 经典美文1 (1)
- 经典美文2 (1)
- 经典美文3 (1)
- webservice以及线程应用 (1)
- webservice以及线程应用2 (1)
- InitializingBean应用 (1)
- 线程应用 (1)
- sqlloader1 (1)
- sqlloader2 (1)
- sqlloader3 (1)
- sqlloader4 (1)
- sqlloader5 (1)
- sqlloader6 (1)
- sqlloader7 (1)
- sql上报数据1 (1)
- sql上报数据2 (1)
- sql上报数据3 (1)
- sql上报数据4 (1)
- sql上报数据5 (1)
- sql上报数据6 (1)
- iputil1 (1)
- iputil2 (1)
- iputil3 (1)
- oracle sql1 (1)
- oracle sql2 (1)
- 线程池1 (0)
- 线程池3 (0)
- 日期处理1 (0)
- 日期处理2 (0)
- 日期处理3 (0)
- 日期处理4 (0)
- iputil4 (0)
- iputil5 (0)
- iputil6 (0)
- 日期处理6 (0)
- 日期处理7 (0)
- 日期处理8 (0)
- protocolList (0)
- DATELONG2TEXT (0)
- Dateinfo5 (0)
- Dateinfo6 (0)
- Dateinfo7 (0)
- Dateinfo8 (0)
- Dateinfo9 (0)
- Dateinfo10 (0)
- Dateinfo11 (0)
- Dateinfo12 (0)
- 处理ifream滚动条 (0)
- 工具面试题 (0)
- oracle1 (0)
- 批量插入数据 (0)
- oracle2 (0)
- oracle3 (0)
- oracle4 (0)
- oracle5 (0)
- oracle6 (0)
- oracle7 (0)
- oracle8 (0)
- oracle9 (0)
- oracle11 (0)
- oracle12 (0)
- oracle13 (0)
- oracle14 (0)
- oracle15 (0)
- http://zhang-xzhi-xjtu.iteye.com/category/133743 (1)
- 绑定变量 (0)
- 绑定变量2 (0)
- 绑定变量3 (0)
- 合理使用排序 (0)
- Jconsole 内存1 (0)
- Jconsole 内存2 (0)
- Jconsole 内存3 (0)
- io nio (0)
- nio (0)
- Batch (0)
- fetchsize (0)
- fetchsize2 (0)
- 面试题 (0)
- ExecutorService线程池 (0)
- 阻塞队列 (0)
- 简单阻塞队列实现 (0)
- 简单阻塞队列实现2 (1)
- CountDownLatch 结合线程应用 (0)
- 线程池 (0)
- 阻塞队列2 (0)
- LockSupport park unpark interrupt notifyAll wait等关系区别 (0)
- LockSupport park unpark interrupt notifyAll wait等关系区别1 (0)
- LockSupport park unpark interrupt notifyAll wait等关系区别2 (0)
- nio FileChannel (1)
- Nio Charset (0)
- nio 学习 (0)
- 杨化龙 (0)
- 排序1 (0)
- 排序2 (0)
- tomcat内存配置 (0)
- 字符串转换16进制数表示的字符串 (0)
- Dpi.report.common.TopnEdit (0)
- Dpi.report.common.TopnEdit2 (0)
- Dpi.report.common.TopnEdit3 (0)
- Dpi.report.common.TopnEdit4 (0)
- webservice调用 (0)
最新评论
// Buffer 常见方法:
// flip(): 写模式转换成读模式
// rewind() :将 position 重置为 0 ,一般用于重复读。
// clear() :清空 buffer ,准备再次被写入 (position 变成 0 , limit 变成 capacity) 。
// compact(): 将未读取的数据拷贝到 buffer 的头部位。
// mark() 、 reset():mark 可以标记一个位置, reset 可以重置到该位置。
// Buffer 常见类型: ByteBuffer 、 MappedByteBuffer 、 CharBuffer 、 DoubleBuffer 、 FloatBuffer 、 IntBuffer 、 LongBuffer 、 ShortBuffer 。
// channel 常见类型 :FileChannel 、 DatagramChannel(UDP) 、 SocketChannel(TCP) 、 ServerSocketChannel(TCP)
// 在本机上面做了个简单的性能测试。我的笔记本性能一般。 ( 具体代码可以见附件。见 nio.sample.filecopy 包下面的例子 ) 以下是参
String source = "d:/b.txt";
String dest = "d:/newnewnewnenwnwnewnewne.txt";
try
{
FileInputStream in = new FileInputStream(new File(source));
FileOutputStream out = new FileOutputStream(new File(dest));
// 获取源文件和目标文件的输入输出流
FileChannel infc = in.getChannel();
FileChannel outfc = out.getChannel();
// 创建缓冲区
ByteBuffer b = ByteBuffer.allocate(1024);
while(true) {
// clear方法重设缓冲区,使它可以接受读入的数据
b.clear();
int r = infc.read(b);
// read方法返回读取的字节数,可能为零,如果该通道已到达流的末尾,则返回-1
if(r == -1) {
break;
}
// flip方法让缓冲区可以将新读入的数据写入另一个通道
// 写模式转换成读模式
b.flip();
outfc.write(b);
}
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// flip(): 写模式转换成读模式
// rewind() :将 position 重置为 0 ,一般用于重复读。
// clear() :清空 buffer ,准备再次被写入 (position 变成 0 , limit 变成 capacity) 。
// compact(): 将未读取的数据拷贝到 buffer 的头部位。
// mark() 、 reset():mark 可以标记一个位置, reset 可以重置到该位置。
// Buffer 常见类型: ByteBuffer 、 MappedByteBuffer 、 CharBuffer 、 DoubleBuffer 、 FloatBuffer 、 IntBuffer 、 LongBuffer 、 ShortBuffer 。
// channel 常见类型 :FileChannel 、 DatagramChannel(UDP) 、 SocketChannel(TCP) 、 ServerSocketChannel(TCP)
// 在本机上面做了个简单的性能测试。我的笔记本性能一般。 ( 具体代码可以见附件。见 nio.sample.filecopy 包下面的例子 ) 以下是参
String source = "d:/b.txt";
String dest = "d:/newnewnewnenwnwnewnewne.txt";
try
{
FileInputStream in = new FileInputStream(new File(source));
FileOutputStream out = new FileOutputStream(new File(dest));
// 获取源文件和目标文件的输入输出流
FileChannel infc = in.getChannel();
FileChannel outfc = out.getChannel();
// 创建缓冲区
ByteBuffer b = ByteBuffer.allocate(1024);
while(true) {
// clear方法重设缓冲区,使它可以接受读入的数据
b.clear();
int r = infc.read(b);
// read方法返回读取的字节数,可能为零,如果该通道已到达流的末尾,则返回-1
if(r == -1) {
break;
}
// flip方法让缓冲区可以将新读入的数据写入另一个通道
// 写模式转换成读模式
b.flip();
outfc.write(b);
}
}
catch (FileNotFoundException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
相关推荐
jruby-stdin-channel JRuby Java 扩展 gem,它从 Java System.in stdin 中提取可中断的FileChannel。 使用这个 gem,在阻塞read方法上调用close将解除阻塞,这与普通的 JRuby $stdin 。 使用close转义阻塞读取仅适用...
7.1 打开一个FileChannel 7.2 从FileChannel通道中读取数据 7.3 向FileChannel中写入数据: 7.4 关闭FileCha
Java NIO系列教程(七) FileChannel Java NIO系列教程(八) SocketChannel Java NIO系列教程(九) ServerSocketChannel Java NIO系列教程(十) Java NIO DatagramChannel Java NIO系列教程(十一) Pipe Java ...
Java NIO支持多种类型的通道,包括文件通道(FileChannel)、套接字通道(SocketChannel)和服务器套接字通道(ServerSocketChannel)等。通道可以同时进行读写操作,并且可以实现异步读写。 2. **缓冲区(Buffers...
**NIO(New Input/Output)是Java编程语言中用于替代标准I/O(BIO,Blocking I/O)的一组API,它提供了非阻塞式的I/O操作方式,极大地提升了Java在处理I/O密集型应用时的性能。NIO在Java 1.4版本中被引入,之后在...
在Java NIO中,`java.nio.channels.FileChannel`类是用于文件操作的主要接口。它提供了从文件读取和写入数据的方法。例如,我们可以使用`FileChannel.write()`方法将数据从缓冲区写入文件。下面是一个简单的示例,...
import java.nio.channels.FileChannel; import java.nio.file.Paths; import java.nio.file.StandardOpenOption; public class FeiNioRead { public static void main(String[] args) { try (FileChannel ...
下面是一个简单的 Java NIO 示例,展示了如何使用 `FileChannel` 和 `ByteBuffer` 进行文件复制: ```java package nio; import java.io.FileInputStream; import java.io.FileOutputStream; import java.nio....
- Java NIO提供了FileChannel,可以进行文件的读写操作,支持随机访问和映射到内存(Memory-Mapped Files)。 6. **网络编程** - SocketChannel和ServerSocketChannel分别用于处理TCP连接和监听。DatagramChannel...
Java NIO(New Input/Output)是Java标准库中提供的一种I/O模型,与传统的BIO( Blocking I/O)相比,NIO具有更好的性能和更高的灵活性。NIO的核心组件包括通道(Channel)、缓冲区(Buffer)和选择器(Selector)。...
### Java NIO 处理超大数据文件的知识点详解 #### 一、Java NIO简介 Java NIO(New IO)是Java平台上的新输入/输出流API,它提供了与传统IO(即Java IO)不同的数据处理方式。NIO在Java 1.4版本引入,并在后续版本...
Java NIO中的通道包括FileChannel、SocketChannel、ServerSocketChannel等,它们支持非阻塞读写操作。 2. **缓冲区(Buffer)**:缓冲区是数据操作的主要对象,它提供了一种更有效的方式管理数据。在NIO中,数据总是...
要使用NIO写文件,首先需要获取FileChannel对象,这可以通过`FileOutputStream`的`getChannel()`方法实现。 2. **缓冲区(Buffers)** 缓冲区是NIO的核心组件,它是数据在通道间传输的容器。Java NIO提供了几种...
1. **FileChannel**:`java.nio.channels.FileChannel`是用于读写文件的通道,可以从一个文件通道向另一个文件通道直接传输数据,避免了中间缓冲区的开销。在文件复制中,我们通常使用`transferTo()`和`transferFrom...
Java NIO提供了一些常见的通道实现,如SocketChannel(用于网络通信)、FileChannel(用于文件操作)等。 3. **Buffer(缓冲区)**:在NIO中,数据读写都是通过缓冲区进行的。缓冲区是一个可以容纳特定类型数据(如...
05-Java NIO-Channel-FileChannel详解(一).mp4 06-Java NIO-Channel-FileChannel详解(二).mp4 08-Java NIO-Channel-ServerSocketChannel.mp4 09-Java NIO-Channel-SocketChannel.mp4 10-Java NIO-Channel-...
Java NIO(New IO)是Java 1.4版本引入的一个新模块,它提供了一种不同于传统IO(基于字节流和字符流)的I/O操作方式。传统的IO模型是阻塞式的,而NIO的核心特点是非阻塞,这使得在处理大量并发I/O请求时更为高效。...
为了解决这个问题,Java引入了New Input/Output (NIO) 模型,它提供了非阻塞I/O操作,使得在处理大文件时更加高效。本文将深入探讨如何使用NIO处理大文件,并分析其背后的机制和优势。 1. NIO简介: NIO是Java 1.4...