真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java8中怎么利用通道FileChannel完成文件復(fù)制

本篇內(nèi)容主要講解“java8中怎么利用通道FileChannel完成文件復(fù)制”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“java8中怎么利用通道FileChannel完成文件復(fù)制”吧!

太平網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,太平網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為太平1000多家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的太平做網(wǎng)站的公司定做!

一、通道(channel):用于源節(jié)點(diǎn)與目標(biāo)節(jié)點(diǎn)的鏈接,在java nio 中負(fù)責(zé)緩沖區(qū)中的數(shù)據(jù)的傳輸,Channel本省不存儲(chǔ)數(shù)據(jù),因此需要配合緩沖區(qū)進(jìn)行傳輸*二、通道的主要實(shí)現(xiàn)類*      java.nio.channel.Channel 接口:*          |--FIleChannel*          |--SocketChannel*          |--ServerSocketChannel*          |--DatagramChannel** 三、獲取通道*  1.java 針對(duì)支持通道的類提供了 getChannel()方法*         本地IO:*         FileInputStream/FileOutputStream*         RandomAccessFile**         網(wǎng)絡(luò)IO:*         Socket
*         ServerSocket
*         DatagramSocket
*   2.在JDK 1.7中的NIO.2 針對(duì)各個(gè)通道提供了靜態(tài)方法 open()**   3.在JDK 1.7 中的NIO.2 的Files 工具類的 newByteChannel()public class TestChannel {// 1.利用通道完成文件復(fù)制    @Test    public void test1(){
        FileInputStream inputStream= null;        FileOutputStream outputStream= null;        FileChannel inChannel= null;        FileChannel outChannel= null;        try {
            inputStream = new FileInputStream("1.jpg");            outputStream = new FileOutputStream("2.jpg");            // ① 獲取通道            inChannel = inputStream.getChannel();            outChannel = outputStream.getChannel();            // ② 分配指定大小的緩沖區(qū)            ByteBuffer byteBuffer=ByteBuffer.allocate(1024);            // ③ 將通道中的數(shù)據(jù)存入緩沖區(qū)            while (inChannel.read(byteBuffer) !=-1){
                byteBuffer.flip(); // 切換讀取數(shù)據(jù)模式                // ④ 將緩沖區(qū)中的數(shù)據(jù)寫入目標(biāo)通道中                outChannel.write(byteBuffer);                byteBuffer.clear();            }
        } catch (IOException e) {
            e.printStackTrace();        } finally {if (outChannel!=null){try {
                    outChannel.close();                } catch (IOException e) {
                    e.printStackTrace();                }
            }if (inChannel!=null){try {
                    inChannel.close();                } catch (IOException e) {
                    e.printStackTrace();                }
            }if (outputStream!=null){try {
                    outputStream.close();                } catch (IOException e) {
                    e.printStackTrace();                }
            }if (inputStream!=null){try {
                    inputStream.close();                } catch (IOException e) {
                    e.printStackTrace();                }
            }
        }

    }
}

到此,相信大家對(duì)“java8中怎么利用通道FileChannel完成文件復(fù)制”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!


文章標(biāo)題:java8中怎么利用通道FileChannel完成文件復(fù)制
文章鏈接:http://weahome.cn/article/ijsood.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部