Java NIO秒读小文件
程序员文章站
2022-06-10 21:39:55
...
//Java NIO秒读文件 public class CopyFile { public static void main(String[] args) throws Exception { Long start = System.currentTimeMillis(); String infile = "d:\\1.txt"; String outfile = "d:\\2.txt"; // 获取源文件和目标文件的输入输出流 FileInputStream fin = new FileInputStream(infile); FileOutputStream fout = new FileOutputStream(outfile); // 获取输入输出通道 FileChannel fcin = fin.getChannel(); FileChannel fcout = fout.getChannel(); // 创建缓冲区 ByteBuffer buffer = ByteBuffer.allocate(1024); while (true) { // clear方法重设缓冲区,使它可以接受读入的数据 buffer.clear(); // 从输入通道中将数据读到缓冲区 int r = fcin.read(buffer); // read方法返回读取的字节数,可能为零,如果该通道已到达流的末尾,则返回-1 if (r == -1) { break; } // flip方法让缓冲区可以将新读入的数据写入另一个通道 buffer.flip(); // 从输出通道中将数据写入缓冲区 fcout.write(buffer); } Long end = System.currentTimeMillis(); System.out.println("============="+(end-start)); } }
执行的结果是0,太令人诧异了
上一篇: JTA分布式事务处理