`

nio分割普通文件

阅读更多
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);
  }
 }
}
分享到:
评论

相关推荐

    java实现文件的分割.rar

    1. **随机访问流(RandomAccessFile)**: Java的`java.io.RandomAccessFile`类允许程序员以随机方式读写文件,不同于普通的字节流,它可以在文件的任意位置进行读写,而不是顺序地从头到尾操作。这为文件分割提供了...

    Zip4j扩展

    在源码分析方面,深入研究这些类的内部实现,可以学习到如何利用Java的IO和NIO进行文件操作,如何实现自定义的压缩算法,以及如何处理大文件和流。对于工具开发,这个扩展可以作为开发自己的压缩工具或者集成到现有...

    Java语言实现简单FTP软件 FTP远程文件管理模块实现(10)

    根据文件信息的首字符(`d`代表目录,`-`代表普通文件),确定文件类型,并填充相应的大小信息(对于目录,显示`<DIR>`;对于文件,显示文件大小)。文件名和日期则分别从分割后的字符串数组中提取出来。 此外,...

    大数据基础复习

    相比普通的HashMap,ConcurrentMap允许在多线程环境下并发地读写而不需外部同步。常见的实现类有: - ConcurrentHashMap:线程安全的并发哈希映射,它是ConcurrentMap的最常见实现,通过分段锁技术实现高并发性能。...

    netty documentation

    - **具体来说**,Netty是一个NIO(非阻塞I/O)客户端服务器框架,它允许快速且轻松地开发网络应用程序,例如TCP/IP套接字等。这极大地简化并简化了网络编程任务,使得开发者可以更加专注于业务逻辑而不是底层网络...

    java经典面试题

    - 验证:确保加载的类文件符合 Java 语言规范。 - 准备:为静态变量分配内存。 - 解析:将符号引用转换为直接引用。 - 初始化:执行类的初始化方法 `()`。 10. **双亲委派模型**: - Bootstrap ClassLoader:...

Global site tag (gtag.js) - Google Analytics