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日

相关文章

  • 利用Maven入手Spring Boot第一个程序详解

    利用 Maven 入手 Spring Boot 第一个程序的攻略,可以分为以下几个步骤: 步骤一:创建项目 打开 IntelliJ IDEA 软件,选择 “New Project”。 选择 “Spring Initializr” 选项,然后点击 “Next”。 在 “Project SDK” 下拉框中选择相应的 JDK 版本,然后点击 “Next”。 输入项…

    Java 2023年5月20日
    00
  • Java使用Jdbc连接Oracle执行简单查询操作示例

    Java使用JDBC连接Oracle数据库的步骤: 导入JDBC驱动程序 初始化数据库连接 创建Statement对象 执行SQL查询,并将结果集存储在ResultSet类对象中 处理结果集 关闭结果集、Statement和Connection对象 下面分别介绍这些步骤及对应示例: 1. 导入JDBC驱动程序 在Java代码中导入jdbc驱动程序,该驱动程序…

    Java 2023年5月19日
    00
  • SpringBoot项目找不到javax.servlet.Filter的问题及解决

    当我们开发SpringBoot Web项目时可能会遇到一个常见的问题:找不到javax.servlet.Filter。这个问题通常出现在SpringBoot 2.x版本中,而在SpringBoot 1.x版本中则不需要特别定义依赖即可正常使用。本文将为大家分享如何解决这个问题。 问题分析: 在SpringBoot 2.x版本中需要手动添加servlet-ap…

    Java 2023年5月19日
    00
  • java实现登录验证码

    下面是“java实现登录验证码”的完整攻略。 简介 验证码是一种防止网站被机器人攻击的常用手段,它需要用户正确地输入由图片或数字组成的随机字符串。本文将介绍如何在Java中实现登录验证码功能。 步骤 生成验证码图片。 在使用Java实现验证码时,可以使用第三方库或自己编写代码生成验证码图片。其中,常用的第三方库包括JCaptcha和Kaptcha等。这里以K…

    Java 2023年5月19日
    00
  • 微信小程序支付及退款流程详解

    微信小程序支付及退款流程详解 支付流程 1. 获取openid 在发起支付前,需要获取用户的openid。可以通过调用微信官方提供的登录接口wx.login(),在获取到临时登录凭证code后,再通过调用wx.request()接口向服务器发送请求,从而获取用户的openid。 示例代码: wx.login({ success: function(res) …

    Java 2023年5月23日
    00
  • MyBatis配置文件解析与MyBatis实例演示

    针对题目“MyBatis配置文件解析与MyBatis实例演示”的完整攻略,我来分享一下我的经验和理解。 MyBatis配置文件解析 MyBatis是一款先进的持久化框架,可以将数据存储到数据库,而其具体实现则是通过对MyBatis的配置文件进行解析从而完成的。 MyBatis的配置文件一般包含以下几个部分: 1. 对数据库连接的配置 <!– 数据库连…

    Java 2023年5月20日
    00
  • Idea中tomcat启动源码调试进入到tomcat内部进行调试的方法

    Idea中tomcat启动源码调试进入到tomcat内部进行调试的方法可以通过以下步骤实现: 在Idea中配置tomcat启动参数 首先需要在 Ieda 中配置 tomcat 的启动参数,具体方法为: 在Idea侧边栏中找到「Run/Debug Configuration」,点击「+」按钮,选择「Tomcat Server」,然后在「Server」选项中选择…

    Java 2023年5月19日
    00
  • Java+Mysql学生管理系统源码

    Java+Mysql学生管理系统源码攻略 什么是Java+Mysql学生管理系统源码? Java+Mysql学生管理系统源码是一个基于Java编写并使用Mysql作为后台数据库的学生管理系统。 该系统使用了Java Swing编写前端GUI界面,并使用Mysql作为后台数据库,实现了登录、菜单、学生信息管理、成绩管理、教师信息管理等核心功能,是一款很好的Ja…

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