java实现文件复制、剪切文件和删除示例

yizhihongxing

下面是“Java实现文件复制、剪切文件和删除”示例的完整攻略。

1. 复制文件

要使用Java复制文件,需要使用Java的IO库。有两种方法可以实现文件复制:通过字节流或字符流。

1.1 字节流复制

使用字节流复制文件的方法非常简单。以下是代码示例:

import java.io.*;

public class FileCopy {
    public static void main(String[] args) throws IOException {
        // 需要复制的文件路径和名称
        File sourceFile = new File("D:/source.txt");
        // 目标文件路径和名称
        File targetFile = new File("D:/target.txt");
        // 创建输入流
        FileInputStream inputStream = new FileInputStream(sourceFile);
        // 创建输出流
        FileOutputStream outputStream = new FileOutputStream(targetFile);
        // 开始复制文件
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, bytesRead);
        }
        // 关闭流
        inputStream.close();
        outputStream.close();

        System.out.println("文件复制完成!");
    }
}

在代码示例中,我们使用了一个byte数组来缓存从输入流中读取的数据,并使用outputStream写入到输出流中,以完成复制文件的操作。

1.2 字符流复制

如果需要复制的文件不是二进制文件,而是纯文本文件(例如.txt文件),那么我们可以使用字符流来复制文件。以下是代码示例:

import java.io.*;

public class FileCopy {
    public static void main(String[] args) throws IOException {
        // 需要复制的文件路径和名称
        File sourceFile = new File("D:/source.txt");
        // 目标文件路径和名称
        File targetFile = new File("D:/target.txt");
        // 创建输入流
        FileReader reader = new FileReader(sourceFile);
        BufferedReader bufferedReader = new BufferedReader(reader);
        // 创建输出流
        FileWriter writer = new FileWriter(targetFile);
        BufferedWriter bufferedWriter = new BufferedWriter(writer);
        // 开始复制文件
        String line;
        while ((line = bufferedReader.readLine()) != null) {
            bufferedWriter.write(line);
            bufferedWriter.newLine();
        }
        // 关闭流
        bufferedReader.close();
        bufferedWriter.close();

        System.out.println("文件复制完成!");
    }
}

2. 剪切文件

剪切文件和复制文件的操作非常相似。唯一的区别是,完成复制文件后,我们需要删除原文件。以下是代码示例:

import java.io.*;

public class FileCut {
    public static void main(String[] args) throws IOException {
        // 需要剪切的文件路径和名称
        File sourceFile = new File("D:/source.txt");
        // 目标文件路径和名称
        File targetFile = new File("D:/target.txt");
        // 创建输入流
        FileInputStream inputStream = new FileInputStream(sourceFile);
        // 创建输出流
        FileOutputStream outputStream = new FileOutputStream(targetFile);
        // 开始剪切文件
        byte[] buffer = new byte[1024];
        int bytesRead;
        while ((bytesRead = inputStream.read(buffer)) > 0) {
            outputStream.write(buffer, 0, bytesRead);
        }
        // 关闭流
        inputStream.close();
        outputStream.close();
        // 删除原文件
        sourceFile.delete();

        System.out.println("文件剪切完成!");
    }
}

3. 删除文件

删除文件非常简单,只需要使用java.io.File类的delete方法即可。以下是代码示例:

import java.io.*;

public class FileDelete {
    public static void main(String[] args) {
        // 需要删除的文件路径和名称
        File file = new File("D:/source.txt");
        if (file.delete()) {
            System.out.println("文件删除成功!");
        } else {
            System.out.println("文件删除失败!");
        }
    }
}

以上就是Java实现文件复制、剪切文件和删除的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java实现文件复制、剪切文件和删除示例 - Python技术站

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

相关文章

  • 简单了解JAVA NIO

    Java NIO 简介 Java NIO即Java非阻塞式IO (Java Non-blocking I/O)。Java NIO提供了一种新的 IO工作方式和API。它比原生的Java IO(Java IO通过流的方式读取数据,而NIO则是通过通道(channel)和缓冲区(buffer)来读取数据)更加高效,也更易于扩展。虽然Java NIO比Java I…

    Java 2023年5月24日
    00
  • java 处理常量字符串过长 & springboot 项目读取 resouces 文件夹下的文件内容

    长字符串起因 项目里面有一长串的加密字符串(最长的万多个字符),需要拼接作为参数发送给第三方。 如果我们使用 枚举 定义的话,idea 编译的时候就会出现编译报错 Error: java:常量字符串过长 解决想法 网上还有一个说法,说是编译器问题,修改 idea 工具的编译为 eclipse 即可。 但是结果我仍然不满意,所以我决定把他放在文件中,然后需要的…

    Java 2023年4月18日
    00
  • IntelliJ IDEA 安装 Grep Console插件 自定义控制台输出多颜色格式功能

    下面是详细的攻略介绍: 安装 Grep Console 插件 打开 IntelliJ IDEA 软件,点击上方菜单栏中的“File”菜单,然后选择左侧的“Settings”选项。 在“Settings”页面中,选择左侧的“Plugins”选项。 在右侧的搜索框中,输入“Grep Console”关键词,并点击“Install”按钮进行插件安装。 安装完成后,…

    Java 2023年5月26日
    00
  • 浅谈JSP与Servlet传值及对比(总结)

    浅谈JSP与Servlet传值及对比(总结)是一篇比较详细介绍 JSP 和 Servlet 之间数据传递的文章。在该文章中,作者讲述了JSP和Servlet传值的几种方式以及它们在不同情况下的使用情况。 1. JSP与Servlet JSP和Servlet是相互联系的,JSP可以添加Java代码,Servlet可以生成HTML代码。JSP和Servlet重点…

    Java 2023年6月15日
    00
  • Java如何把数组转换为ArrayList

    将Java中的数组转换为ArrayList的过程可以分为两个步骤: 创建一个ArrayList对象 将数组中的元素添加到ArrayList中 以下是完整的转换过程及示例说明: 创建ArrayList对象 要将数组转换为ArrayList,首先需要创建一个新的ArrayList对象。可以使用泛型来定义ArrayList存储的数据类型,根据需要创建一个整型Arr…

    Java 2023年5月26日
    00
  • Javaweb工程运行报错HTTP Status 404解决办法

    针对Javaweb工程运行报错HTTP Status 404的情况,可以按照以下步骤来解决: 1. 确认Servlet容器是否正常启动 第一步是确认Servlet容器是否正常启动。如果Servlet容器未正常启动,那么网站无法访问,就会出现404错误。在确认Servlet容器是否正常启动时,可以参照以下示例代码: $netstat -ano | findst…

    Java 2023年6月15日
    00
  • Java中值传递的深度分析

    Java中值传递的深度分析 在Java中,参数传递有两种方式:值传递和引用传递。本文将主要讲解Java中的值传递,以及值传递的相关知识点。 值传递的定义 值传递,指的是当数据类型为基本数据类型的时候,方法调用时传递的是该基本数据类型的值的一份拷贝,而不是该变量所指向的地址。因此在函数内改变基本数据类型的值不会影响外部变量的值。 值传递的示例 以下是一个简单的…

    Java 2023年5月19日
    00
  • 一文详解Spring security框架的使用

    一文详解Spring Security框架的使用 简介 Spring Security是一个基于Spring框架的安全性管理框架,可以实现对Java Web应用程序进行完整的安全性管理。它提供了许多功能,例如认证,授权等,同时提供了广泛的API和扩展点,可以轻松地与其他框架和库集成。本文将详细介绍Spring Security框架的使用方法。 环境准备 在开…

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