package utils;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.channels.FileChannel;
public class ReadLargeTextWithNIO
{
public static void main(String...args) throws IOException
{
String filename="Visual.zip";
FileInputStream fin = new FileInputStream("c:\\2011-01-18\\"+filename);
FileChannel fcin = fin.getChannel();
ByteBuffer buffer = ByteBuffer.allocate(1024 * 1024 * 20);
int n=0;
while(true)
{
buffer.clear();
int flag = fcin.read(buffer);
if(flag == -1)
{
break;
}
buffer.flip();
n++;
FileOutputStream fout = new FileOutputStream("c:\\2011-01-18\\"+filename+"."+n + ".bak");
FileChannel fcout = fout.getChannel();
fcout.write(buffer);
}
}
}
分享到:
相关推荐
1. **随机访问流(RandomAccessFile)**: Java的`java.io.RandomAccessFile`类允许程序员以随机方式读写文件,不同于普通的字节流,它可以在文件的任意位置进行读写,而不是顺序地从头到尾操作。这为文件分割提供了...
在源码分析方面,深入研究这些类的内部实现,可以学习到如何利用Java的IO和NIO进行文件操作,如何实现自定义的压缩算法,以及如何处理大文件和流。对于工具开发,这个扩展可以作为开发自己的压缩工具或者集成到现有...
根据文件信息的首字符(`d`代表目录,`-`代表普通文件),确定文件类型,并填充相应的大小信息(对于目录,显示`<DIR>`;对于文件,显示文件大小)。文件名和日期则分别从分割后的字符串数组中提取出来。 此外,...
相比普通的HashMap,ConcurrentMap允许在多线程环境下并发地读写而不需外部同步。常见的实现类有: - ConcurrentHashMap:线程安全的并发哈希映射,它是ConcurrentMap的最常见实现,通过分段锁技术实现高并发性能。...
- **具体来说**,Netty是一个NIO(非阻塞I/O)客户端服务器框架,它允许快速且轻松地开发网络应用程序,例如TCP/IP套接字等。这极大地简化并简化了网络编程任务,使得开发者可以更加专注于业务逻辑而不是底层网络...
- 验证:确保加载的类文件符合 Java 语言规范。 - 准备:为静态变量分配内存。 - 解析:将符号引用转换为直接引用。 - 初始化:执行类的初始化方法 `()`。 10. **双亲委派模型**: - Bootstrap ClassLoader:...