您好,登录后才能下订单哦!
密码登录
            
            
            
            
        登录注册
            
            
            
        点击 登录注册 即表示同意《亿速云用户服务条款》
        这篇文章主要介绍“Java NIO性能测试的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java NIO性能测试的方法是什么”文章能帮助大家解决问题。
时间(ms)  | 文件大小(byte)  | |
Buffer(byte)  | 434  | 603900  | 
10000  | 0  | 0  | 
1000  | 0  | 46  | 
100  | 0  | 188  | 
50  | 0  | 281  | 
5  | 0  | 2406  | 
1  | 47  | 12000  | 
java 代码:
package com;           import java.io.File;      import java.io.FileInputStream;      import java.io.FileOutputStream;      import java.io.IOException;      import java.nio.ByteBuffer;      import java.nio.channels.FileChannel;           import junit.framework.TestCase;           /**      * NIO read write test      *       * @author wutao      *       */     public class NioDemo extends TestCase {               public void testRead() throws IOException {                   int[] sizes = { 10000, 1000, 100, 50, 5, 1 };                   // Arrays.sort(sizes);                   System.out.println(new File("text.txt").length());                   for (int i = 0; i < sizes.length; i++) {                       int size = sizes[i];                       FileInputStream fins = new FileInputStream("text.txt");                       FileChannel fc = fins.getChannel();                       if (!new File("text2.txt").exists()) {                      new File("text2.txt").createNewFile();                  }                  ByteBuffer buffer = ByteBuffer.allocate(size);                       FileOutputStream fouts = new FileOutputStream("text2.txt");                  FileChannel fc2 = fouts.getChannel();                       long start = System.currentTimeMillis();                       while (true) {                      buffer.clear();                      int r = fc.read(buffer);                      if (r == -1) {                          break;                      }                      buffer.flip();                      fc2.write(buffer);                  }                       long end = System.currentTimeMillis();                       System.out.println("---------" + size + "---------");                  System.out.println(end - start);                  fc.close();                  fc2.close();                  fins.close();                  fouts.close();              }          }      }Java™ I/O, 2nd Edition By Elliotte Rusty Harold ............................................... Publisher: O'Reilly Pub Date: May 2006 Print ISBN-10: 0-596-52750-0 Print ISBN-13: 978-0-59-652750-1 Pages: 726
import java.io.*;     import java.nio.*;     import java.nio.channels.*;     public class NIOCopier {       public static void main(String[] args) throws IOException {         FileInputStream inFile = new FileInputStream(args[0]);         FileOutputStream outFile = new FileOutputStream(args[1]);         FileChannel inChannel = inFile.getChannel( );         FileChannel outChannel = outFile.getChannel( );         for (ByteBuffer buffer = ByteBuffer.allocate(1024*1024);         inChannel.read(buffer) != -1;         buffer.clear( )) {           buffer.flip( );           while (buffer.hasRemaining( )) outChannel.write(buffer);         }         inChannel.close( );         outChannel.close( );       }     }关于“Java NIO性能测试的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。