21xrx.com
2024-12-23 03:35:37 Monday
登录
文章检索 我的文章 写文章
Java中复制文件的方法及示例代码
2023-06-11 18:49:15 深夜i     --     --
Java 复制文件 IO流 NIO库

在Java中,复制文件是一个常见的操作,通常用于备份数据或文件的传输。本文介绍Java中复制文件的方法,以及一个示例代码。

方法一:使用Java IO流

使用Java的IO流,可以从源文件读入数据,然后将数据写入到目标文件中。以下是示例代码:


public static void copyFileUsingStream(File source, File dest) throws IOException {

  InputStream is = null;

  OutputStream os = null;

  try {

    is = new FileInputStream(source);

    os = new FileOutputStream(dest);

    byte[] buffer = new byte[1024];

    int length;

    while ((length = is.read(buffer)) > 0) {

      os.write(buffer, 0, length);

    }

  } finally {

    is.close();

    os.close();

  }

}

上述代码中,先创建一个输入流和一个输出流,使用缓冲区读入源文件中的数据,然后将数据写入到目标文件中。

方法二:使用Java NIO库

Java NIO库是在Java 1.4中引入的,它提供了新的IO API,具有更好的性能和扩展性。以下是示例代码:


public static void copyFileUsingChannel(File source, File dest) throws IOException {

  FileChannel sourceChannel = null;

  FileChannel destChannel = null;

  try {

    sourceChannel = new FileInputStream(source).getChannel();

    destChannel = new FileOutputStream(dest).getChannel();

    destChannel.transferFrom(sourceChannel, 0, sourceChannel.size());

  } finally {

    sourceChannel.close();

    destChannel.close();

  }

}

上述代码中,先创建源文件和目标文件的通道,然后使用transferFrom()方法在两个通道之间直接传输文件内容。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复