千家信息网

如何通过JAVA NIO非直接缓冲区拷贝文件

发表于:2025-01-22 作者:千家信息网编辑
千家信息网最后更新 2025年01月22日,小编给大家分享一下如何通过JAVA NIO非直接缓冲区拷贝文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!通过JAVA
千家信息网最后更新 2025年01月22日如何通过JAVA NIO非直接缓冲区拷贝文件

小编给大家分享一下如何通过JAVA NIO非直接缓冲区拷贝文件,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

通过JAVA NIO 非直接缓冲区拷贝文件

  /**   * 通过JAVA NIO 非直接缓冲区拷贝文件   *   * @param sourcePath 源文件路径   * @param targetPath 目标文件路径   */  public static void copyFileByChannel(String sourcePath, String targetPath) {    FileChannel outChannel = null;    FileChannel inChannel = null;    FileInputStream fis = null;    FileOutputStream fos = null;    try {      fis = new FileInputStream(sourcePath);      fos = new FileOutputStream(targetPath);      //获取通道      inChannel = fis.getChannel();      outChannel = fos.getChannel();      //分配指定大小的缓冲区      ByteBuffer buf = ByteBuffer.allocate(1024);      while (inChannel.read(buf) != -1) {        //转换为读取数据模式        buf.flip();        //写入到磁盘        outChannel.write(buf);        //清空缓冲区        buf.clear();      }    } catch (Exception e) {      e.printStackTrace();    } finally {      //关闭流      try {        if (outChannel != null) {          outChannel.close();        }        if (inChannel != null) {          inChannel.close();        }        if (fis != null) {          fis.close();        }        if (fos != null) {          fos.close();        }      } catch (IOException e) {        e.printStackTrace();      }    }  }

以上是"如何通过JAVA NIO非直接缓冲区拷贝文件"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0