91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java8中怎么利用通道FileChannel完成文件復制

發布時間:2021-11-24 16:48:27 來源:億速云 閱讀:507 作者:iii 欄目:大數據

本篇內容主要講解“java8中怎么利用通道FileChannel完成文件復制”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“java8中怎么利用通道FileChannel完成文件復制”吧!

一、通道(channel):用于源節點與目標節點的鏈接,在java nio 中負責緩沖區中的數據的傳輸,Channel本省不存儲數據,因此需要配合緩沖區進行傳輸*二、通道的主要實現類*      java.nio.channel.Channel 接口:*          |--FIleChannel*          |--SocketChannel*          |--ServerSocketChannel*          |--DatagramChannel** 三、獲取通道*  1.java 針對支持通道的類提供了 getChannel()方法*         本地IO:*         FileInputStream/FileOutputStream*         RandomAccessFile**         網絡IO:*         Socket
*         ServerSocket
*         DatagramSocket
*   2.在JDK 1.7中的NIO.2 針對各個通道提供了靜態方法 open()**   3.在JDK 1.7 中的NIO.2 的Files 工具類的 newByteChannel()public class TestChannel {// 1.利用通道完成文件復制    @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();            // ② 分配指定大小的緩沖區            ByteBuffer byteBuffer=ByteBuffer.allocate(1024);            // ③ 將通道中的數據存入緩沖區            while (inChannel.read(byteBuffer) !=-1){
                byteBuffer.flip(); // 切換讀取數據模式                // ④ 將緩沖區中的數據寫入目標通道中                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();                }
            }
        }

    }
}

到此,相信大家對“java8中怎么利用通道FileChannel完成文件復制”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

精河县| 二连浩特市| 文安县| 临安市| 汉寿县| 白沙| 泾川县| 卫辉市| 汶上县| 郯城县| 舟曲县| 鞍山市| 虞城县| 铜梁县| 离岛区| 同江市| 三门峡市| 谢通门县| 略阳县| 台东县| 拜城县| 吴忠市| 江油市| 炉霍县| 红河县| 上蔡县| 舞阳县| 卓资县| 容城县| 息烽县| 阿鲁科尔沁旗| 漳平市| 万荣县| 海淀区| 于田县| 蓬莱市| 措勤县| 随州市| 从江县| 洞头县| 原阳县|