這篇文章主要介紹“Java NIO性能測試的方法是什么”的相關(guān)知識,小編通過實(shí)際案例向大家展示操作過程,操作方法簡單快捷,實(shí)用性強(qiáng),希望這篇“Java NIO性能測試的方法是什么”文章能幫助大家解決問題。
定陶網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站開發(fā)等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營維護(hù)。創(chuàng)新互聯(lián)公司于2013年成立到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
時(shí)間(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( ); } }
關(guān)于“Java NIO性能測試的方法是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會為大家更新不同的知識點(diǎn)。