java复制文件的4种方式及拷贝文件到另一个目录下的实例代码

Java复制文件的4种方式及拷贝文件到另一个目录下的实例代码

在Java中,复制文件可以使用多种方式,这里详细介绍4种常用的方法及对应的实例代码。

1. 使用 InputStream 和 OutputStream 进行复制

第一种方式是使用 InputStream 和 OutputStream,具体步骤如下:

  1. 创建 File 对象表示输入文件和输出文件;
  2. 创建 FileInputStream 对象读取输入文件;
  3. 创建 FileOutputStream 对象用于输出文件;
  4. 通过 while 循环和 buffer 数组复制文件;
  5. 关闭输入输出流。

以下是该方法的示例代码:

import java.io.*;

public class FileCopyExample {
    public static void main(String[] args) {
        File inputFile = new File("input.txt");
        File outputFile = new File("output.txt");
        try (InputStream inputStream = new FileInputStream(inputFile);
             OutputStream outputStream = new FileOutputStream(outputFile)) {
            byte[] buffer = new byte[1024];
            int length;
            while ((length = inputStream.read(buffer)) > 0) {
                outputStream.write(buffer, 0, length);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

2. 使用 Files.copy 进行复制

第二种方式是使用 Files.copy 方法进行复制,具体步骤如下:

  1. 创建 Path 对象表示输入文件和输出文件;
  2. 调用 Files.copy 方法复制文件。

以下是该方法的示例代码:

import java.nio.file.*;

public class FileCopyExample {
    public static void main(String[] args) {
        Path inputPath = Paths.get("input.txt");
        Path outputPath = Paths.get("output.txt");
        try {
            Files.copy(inputPath, outputPath);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

3. 使用 Files.readAllBytes 和 Files.write 进行复制

第三种方式是使用 Files.readAllBytes 方法读取文件,然后使用 Files.write 方法写入文件,具体步骤如下:

  1. 创建 Path 对象表示输入文件和输出文件;
  2. 调用 Files.readAllBytes 方法读取输入文件;
  3. 调用 Files.write 方法写入输出文件。

以下是该方法的示例代码:

import java.nio.file.*;

public class FileCopyExample {
    public static void main(String[] args) {
        Path inputPath = Paths.get("input.txt");
        Path outputPath = Paths.get("output.txt");
        try {
            byte[] inputBytes = Files.readAllBytes(inputPath);
            Files.write(outputPath, inputBytes);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

4. 使用 Apache Commons IO 进行复制

第四种方式是使用 Apache Commons IO 库的 FileUtils.copyFile 方法进行复制,具体步骤如下:

  1. 创建 File 对象表示输入文件和输出文件;
  2. 调用 FileUtils.copyFile 方法复制文件。

以下是该方法的示例代码:

import org.apache.commons.io.FileUtils;
import java.io.*;

public class FileCopyExample {
    public static void main(String[] args) {
        File inputFile = new File("input.txt");
        File outputFile = new File("output.txt");
        try {
            FileUtils.copyFile(inputFile, outputFile);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

拷贝文件到另一个目录下的示例代码

以下是将文件拷贝到另一个目录下的示例代码,该示例使用第一种方法进行文件复制:

import java.io.*;

public class FileCopyExample {
    public static void main(String[] args) {
        File inputFile = new File("input.txt");
        File outputFile = new File("anotherDir/output.txt");
        try (InputStream inputStream = new FileInputStream(inputFile);
             OutputStream outputStream = new FileOutputStream(outputFile)) {
            byte[] buffer = new byte[1024];
            int length;
            while ((length = inputStream.read(buffer)) > 0) {
                outputStream.write(buffer, 0, length);
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

该示例将 input.txt 文件复制到 anotherDir 目录下的 output.txt 文件。如果该目录不存在,则程序会抛出 FileNotFoundException 异常。在实际开发中,需要先判断目录是否存在,如果不存在则先创建目录。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java复制文件的4种方式及拷贝文件到另一个目录下的实例代码 - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java中的NoSuchMethodException是什么?

    NoSuchMethodException是Java中的一个异常类型,在程序运行过程中可能会抛出该异常。该异常指示正在尝试访问的方法不存在。该异常通常发生在以下情况下: 调用方法时,方法名称拼写错误或方法不存在 方法存在,但是调用时传入的参数类型与方法定义的参数类型不匹配。 具体来说,当Java虚拟机在类中查找方法时,如果指定的方法名称与类的方法列表不匹配,…

    Java 2023年4月27日
    00
  • 深入剖析Java之String字符串

    深入剖析Java之String字符串 介绍 在Java中,String是最常用的数据类型之一,它表示了一个由字符组成的不可变字符串。在实际编程过程中,我们经常需要进行字符串的操作,比如拼接、截取、替换等操作。本文将从基本数据结构说起,深入剖析Java String字符串的特点、常用方法以及相关注意事项。 基本数据结构 在Java中String本质上是一个字符…

    Java 2023年5月26日
    00
  • JAVA字符串拼接常见方法汇总

    JAVA字符串拼接常见方法汇总 为什么需要字符串拼接 在编程过程中,我们经常需要将字符串拼接成一个完整的字符串。字符串拼接是将多个字符串连接形成一个新的字符串的过程,通常使用加号(+)或StringBuilder类来实现。 字符串拼接方式一:使用加号(+)连接字符串 使用加号连接字符串是最基本的字符串拼接方法,它的语法格式如下: String str1 = …

    Java 2023年5月26日
    00
  • Java实现的串口通信功能示例

    为了实现串口通信功能,Java提供了一个称为Java Comm API的标准扩展。下面是实现Java串口通信的步骤: 下载并安装Java Comm API。Java Comm API不是JDK的一部分,需要单独下载、安装和配置。它提供了一个称为javax.comm的包,它包含用于访问串口的类和方法。 确定要使用的串口。您需要查看串口通信设备管理器,以查找可用…

    Java 2023年5月19日
    00
  • 基于Java中进制的转换函数详解

    基于Java中进制的转换函数详解 什么是进制? 进制是数学中一种表示数值大小的方法,常见的进制有10进制、2进制、16进制等。 在计算机科学中,2进制是最常用的进制,因为计算机仅能识别0和1,而所有的数值、字符、图片等都可以用二进制表示。 Java中进制转换函数 Java中提供了许多用于进制转换的函数,如下:- Integer.parseInt(String…

    Java 2023年5月26日
    00
  • Android实现上传文件到服务器实例详解

    Android实现上传文件到服务器实例详解 前言 文件上传是移动端和服务端常见的互动方式之一。在Android开发中,实现上传文件到服务器通常使用HTTP请求实现,请求方式可以为POST或者PUT。 本文将详细介绍Android实现上传文件到服务器的方法。 HTTP请求格式 在进行文件上传之前,我们需要先了解HTTP请求的格式。在当前的移动开发和Web开发中…

    Java 2023年5月20日
    00
  • base64_encode和base64_decode的JAVA实现

    下面是“base64_encode和base64_decode的JAVA实现”的完整攻略。 什么是Base64? 在计算机科学领域,Base64是一种用64个字符来表示任意二进制数据的方法,通常用于在HTTP协议下可读性较高的传输数据。Base64的具体实现方式是将二进制数据流每6位一组,补0凑满6位后,转化成十进制,根据十进制对应的数值,在Base64字符…

    Java 2023年5月20日
    00
  • java静态工具类注入service出现NullPointerException异常处理

    首先,需要明确一点的是,Java中的静态工具类是不应该与Spring中的Service进行耦合的。如果我们在静态工具类中注入了Service,那么在使用该工具类时就有可能出现NullPointerException异常,因为Service需要在Spring容器中进行初始化才能使用,而静态工具类是在类初始化时就会被加载的,而不是在容器启动时被Spring容器进…

    Java 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部