中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

如何通過JAVA NIO直接緩沖區拷貝文件

發布時間:2022-03-31 13:58:41 來源:億速云 閱讀:163 作者:小新 欄目:編程語言

這篇文章主要為大家展示了“如何通過JAVA NIO直接緩沖區拷貝文件”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“如何通過JAVA NIO直接緩沖區拷貝文件”這篇文章吧。

通過JAVA NIO 直接緩沖區拷貝文件

/**
   * 通過JAVA NIO 直接緩沖區拷貝文件(內存映射文件)
   *
   * @param sourcePath 源文件路徑
   * @param targetPath 目標文件路徑
   */
  public static void copyFileByChannelBufferd(String sourcePath, String targetPath) {
    FileChannel inChannel = null;
    FileChannel outChannel = null;
    try {
      //獲取通道,StandardOpenOption.READ表示可讀,StandardOpenOption.WRITE表示可寫,StandardOpenOption.CREATE表示可以創建
      inChannel = FileChannel.open(Paths.get(sourcePath), StandardOpenOption.READ);
      outChannel = FileChannel.open(Paths.get(targetPath), StandardOpenOption.WRITE, StandardOpenOption.READ, StandardOpenOption.CREATE);

      //創建內存映射文件
      MappedByteBuffer inMapped = inChannel.map(FileChannel.MapMode.READ_ONLY, 0, inChannel.size());
      MappedByteBuffer outMapped = outChannel.map(FileChannel.MapMode.READ_WRITE, 0, inChannel.size());

      //直接操作內存映射文件
      byte[] buf = new byte[inMapped.limit()];
      inMapped.get(buf);
      outMapped.put(buf);

    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      //關閉流
      try {
        if (outChannel != null) {
          outChannel.close();
        }
        if (inChannel != null) {
          inChannel.close();
        }
      } catch (IOException e) {
        e.printStackTrace();
      }
    }
  }

以上是“如何通過JAVA NIO直接緩沖區拷貝文件”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

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

AI

宁强县| 凉山| 宜黄县| 措美县| 安西县| 凤翔县| 兴仁县| 黄龙县| 昌黎县| 萨嘎县| 紫金县| 长治市| 万源市| 灵丘县| 南江县| 固安县| 台山市| 安塞县| 报价| 十堰市| 博湖县| 台前县| 三原县| 唐山市| 涿州市| 霍邱县| 铜鼓县| 楚雄市| 陕西省| 黄陵县| 罗平县| 泸州市| 孟津县| 克什克腾旗| 许昌市| 淅川县| 仪征市| 神池县| 安顺市| 宁津县| 滦平县|