java文件复制代码片断(java实现文件拷贝)

Java文件复制是Java中常用的操作之一,我们通常利用类库中的FileInputStream 和 FileOutputStream来实现文件拷贝。下面是Java文件复制代码片段的完整攻略:

步骤一:创建输入输出流对象

首先要创建输入输出流对象,读取原文件并将文件写入指定文件。这里我们使用Java中的FileInputStream和FileOutputStream。

FileInputStream inStream = new FileInputStream("sourceFile.txt");
FileOutputStream outStream = new FileOutputStream("targetFile.txt");

步骤二:读取输入流

读取源文件中的数据并将其保存在字节数组中。以下是将源文件中的数据读入字节数组的示例:

byte[] buffer = new byte[1024];
int length;
while ((length = inStream.read(buffer)) > 0) {
    outStream.write(buffer, 0, length);
}

这段代码将原文件中的数据读入buffer中,直到数据读取到末尾。然后通过write方法将数据写入到targetFile.txt中。

步骤三:关闭输入输出流

复制完文件之后,可以将流关闭以释放其资源。以下是关闭流的示例:

inStream.close();
outStream.close();

完整的Java代码如下:

import java.io.*;

public class FileCopyDemo {
  public static void main(String[] args) throws IOException {
    FileInputStream inStream = null;
    FileOutputStream outStream = null;
    try {
        File inputFile = new File("sourceFile.txt");
        File outputFile = new File("targetFile.txt");

        inStream = new FileInputStream(inputFile);
        outStream = new FileOutputStream(outputFile);

        byte[] buffer = new byte[1024];
        int length;
        while ((length = inStream.read(buffer)) > 0) {
            outStream.write(buffer, 0, length);
        }
    } finally {
        if (inStream != null) inStream.close();
        if (outStream != null) outStream.close();
    }
  }
}

示例1:将当前文件夹下名为source.png的图片文件复制到当前文件夹下的target.png文件中。

import java.io.*;

public class FileCopyDemo {
  public static void main(String[] args) throws IOException {
    FileInputStream inStream = null;
    FileOutputStream outStream = null;
    try {
        File inputFile = new File("source.png");
        File outputFile = new File("target.png");

        inStream = new FileInputStream(inputFile);
        outStream = new FileOutputStream(outputFile);

        byte[] buffer = new byte[1024];
        int length;
        while ((length = inStream.read(buffer)) > 0) {
            outStream.write(buffer, 0, length);
        }
    } finally {
        if (inStream != null) inStream.close();
        if (outStream != null) outStream.close();
    }
  }
}

示例2:将当前文件夹下的名为source.txt的文件复制到当前文件夹下的target.txt文件中。

import java.io.*;

public class FileCopyDemo {
  public static void main(String[] args) throws IOException {
    FileInputStream inStream = null;
    FileOutputStream outStream = null;
    try {
        File inputFile = new File("source.txt");
        File outputFile = new File("target.txt");

        inStream = new FileInputStream(inputFile);
        outStream = new FileOutputStream(outputFile);

        byte[] buffer = new byte[1024];
        int length;
        while ((length = inStream.read(buffer)) > 0) {
            outStream.write(buffer, 0, length);
        }
    } finally {
        if (inStream != null) inStream.close();
        if (outStream != null) outStream.close();
    }
  }
}

以上两个示例都遵循了Java文件复制的完整流程,可以更改文件名和路径实现更多的文件复制操作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java文件复制代码片断(java实现文件拷贝) - Python技术站

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

相关文章

  • JAVA文件读取常用工具类(8种)

    为了方便在Java中读取文件,我们通常使用Java文件读取工具类。下面是8种常用的Java文件读取工具类: BufferedReader、Scanner、InputStreamReader、FileInputStream、FileReader、LineNumberReader、RandomAccessFile和BufferedInputStream。 Buf…

    Java 2023年5月20日
    00
  • SpringBoot Mybatis批量插入Oracle数据库数据

    这里是详细的 SpringBoot Mybatis 批量插入 Oracle 数据库数据的攻略: 一、前置条件 在开始之前,需要确认以下前置条件的设置: 已经安装了 JDK 和 Maven。 已经安装了 Oracle 数据库,并且成功连接测试通过。 已经创建了对应的数据表,并且设置了正确的表结构和约束。 二、添加依赖 在项目的 pom.xml 文件中添加以下依…

    Java 2023年5月20日
    00
  • 一套前后台全部开源的H5商城送给大家

    博主给大家推荐一套全部开源的H5电商项目waynboot-mall。由博主在2020年开发至今,已有三年之久。那时候网上很多的H5商城项目都是半开源版本,要么没有H5前端代码,要么需要加群咨询,属实恶心。于是博主决定自己开发一套完整的移动端H5商城,包含一个管理后台、一个前台H5商城、一套后端接口。项目地址如下: H5商城前端代码:https://githu…

    Java 2023年5月6日
    00
  • 在Java中String和Date、Timestamp之间的转换

    在Java中,String、Date和Timestamp之间的转换十分常见。本篇攻略将详细介绍如何在它们之间转换。 1. String –> Date/Timestamp 1.1 String –> Date 要将字符串转换为日期,我们可以使用SimpleDateFormat类。SimpleDateFormat支持各种日期格式,比如”yyyy…

    Java 2023年5月20日
    00
  • JAVA正则表达式及字符串的替换与分解相关知识总结

    JAVA正则表达式及字符串的替换与分解相关知识总结 什么是正则表达式? 正则表达式是一种用于匹配、解析或替换文本的表示模式。它使用非常简洁的语法,可以表示较为复杂的字符串匹配。在Java中,使用java.util.regex库来支持正则表达式操作。 正则表达式的语法 1. 字符匹配 在正则表达式中,只需要用普通字符就可以表示这个字符本身。例如,正则表达式a表…

    Java 2023年5月27日
    00
  • springboot连接不同数据库的写法详解

    下面是“Spring Boot连接不同数据库的写法详解”的完整攻略。 1. 引入对应的数据库依赖 在使用Spring Boot连接不同的数据库时,需要根据使用的数据库引入对应的依赖。 MySQL xml<dependency> <groupId>mysql</groupId> <artifactId>mysql…

    Java 2023年5月20日
    00
  • Java程序去调用并执行shell脚本及问题总结(推荐)

    Java程序调用执行shell脚本完整攻略 本文将详细介绍Java程序如何调用并执行shell脚本以及相关问题和解决方案。在开始之前,首先要了解一下什么是shell脚本。 shell脚本简介 shell脚本是一种基于文本的脚本语言,旨在为Unix/Linux等操作系统提供一种便捷的命令行编程方式。shell脚本可以自动执行一系列操作,例如复制、移动和删除文件…

    Java 2023年5月23日
    00
  • Java MyBatis之Mapper代理详解

    Java MyBatis之Mapper代理详解 在MyBatis中,Mapper代理是一种方便且易于使用的方式来执行数据库操作。Mapper代理充当了DAO层与MyBatis框架之间的接口,从而将SQL语句执行的逻辑与业务逻辑分开。 1. Mapper代理的创建 Mapper代理是通过MyBatis框架自动生成的。MyBatis通过读取我们配置的Mapper…

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