iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >【经典小练习】JavaSE—拷贝文件夹
  • 444
分享到

【经典小练习】JavaSE—拷贝文件夹

java刷题 2023-09-15 06:09:32 444人浏览 薄情痞子
摘要

🎊专栏【Java小练习】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题ᾗ

🎊专栏【Java小练习】
🍔喜欢的诗句:天行健,君子以自强不息。
🎆音乐分享【如愿】
🎄欢迎并且感谢大家指出小吉的问题🥰

文章目录


在这里插入图片描述
在学io流的时候,我发现听的课程中讲的这个小练习很有帮助,就记录了下来,防止忘记哈哈哈

在Java IO操作中,文件和目录的拷贝功能是非常常用的。我们经常需要将整个目录下的所有文件复制到另一个位置进行备份。为了实现这个功能,Java提供了丰富的IO类让我们方便操作。

本文将通过一个示例代码,演示如何使用File类和流完成整个目录的递归拷贝。我们仅需几行代码,就可以批量拷贝任意文件数量的目录。希望这个实用的小Demo可以帮助大家更好地理解目录处理和Java IO操作中的细节。让我们开始今天的目录拷贝之旅吧!

🎄效果

我们发现,src文件夹中有内容,但是dest文件夹中没有内容

在这里插入图片描述

在这里插入图片描述

运行后发现
在这里插入图片描述

在这里插入图片描述
二者字节数一样,完全复制过来了
从两张图片可以看到,源文件夹中有一些文档文件和子文件夹,目标文件夹开始是完全空的。程序运行后,目标文件夹中的内容和源文件夹一模一样,实现了完整的文件夹复制效果。

🌺代码

package IODemo1;import java.io.*;public class Demo1 {    public static void main(String[] args) throws IOException {        //创建对象表示数据源        File src=new File("G:\\src");        //创建对象表示目的地        File dest=new File("G:\\dest");        //调用方法开始拷贝        copydir(src,dest);    }    private static void copydir(File src,File dest) throws IOException {        //进入数据源        File[] files=src.listFiles();        //遍历数组        for (File file:files){            if (file.isFile()){                //判断文件,拷贝                FileInputStream fis=new FileInputStream(file);                FileOutputStream fos=new FileOutputStream(new File(dest,file.getName()));                byte[] bytes=new byte[1024];                int len;                while ((len=fis.read(bytes))!=-1){                    fos.write(bytes,0,len);                }                fos.close();                fis.close();            }else {                copydir(file,new File(dest,file.getName()));            }        }    }}

🛸讲解

🎈代码结构上也是采用了函数调用
🎈在主函数中要设置好copy的数据源和目的地,然后调用自定义函数完成copy
🎈下面copy的过程是使用循环,判断文件后,进行复制
🎈这里我们编写一个方法叫copydir,利用File类能够递归遍历文件夹结构,配合流对象实现文件读取和写入,这样就可以批量复制整个文件夹的内容。
🎈直接写入目标文件夹是不行的,会改变结构。必须针对每个源文件创建同名的目标文件对象,这样写入才能保证目录树的样子不变。

🍔重点

主要来说一下下面的内容
在这里插入图片描述

为什么要new一个file,而不是直接写到dest文件夹中呢

是因为我们是要把src文件夹的文件复制到dest文件夹中,但是要复制到dest文件夹的哪个地方呢
是要写到dest文件夹中的文件中
但是现在dest文件夹是空的
所以要new一个file

我们通过这个简单的练习,学会了使用File类结合流完成目录的递归拷贝。注意使用new File构造目标文件对象的技巧,这是保证目录结构同步的关键。
文件和目录的处理是Java IO中常见的操作之一,掌握拷贝,删除,压缩解压等技能,可以让我们更便捷地处理文件资源。本文内容较简单,如果有其他目录处理相关的问题,欢迎留言讨论。
可以修改代码,只复制某种类型的文件,比如只复制txt文件。欢迎大家继续探讨目录操作的相关问题。学习编程最重要的是做练习,希望大家要多写代码,成为技术高手!
最后,希望大家要多动手练习,才能真正掌握这些IO编程技巧。

来源地址:https://blog.csdn.net/m0_72853403/article/details/132865111

--结束END--

本文标题: 【经典小练习】JavaSE—拷贝文件夹

本文链接: https://www.lsjlt.com/news/408230.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【经典小练习】JavaSE—拷贝文件夹
    🎊专栏【Java小练习】 🍔喜欢的诗句:天行健,君子以自强不息。 🎆音乐分享【如愿】 🎄欢迎并且感谢大家指出小吉的问题ᾗ...
    99+
    2023-09-15
    java 刷题
  • python 文件夹拷贝
    记录用python 处理文件以及文件夹的拷贝。 #coding:utf-8 import os import sys import getpass import shutil # shutil.copyfile("oldfil...
    99+
    2023-01-31
    文件夹 python
  • python如何拷贝文件到文件夹
    你可以使用shutil模块中的`copy`或`copy2`函数来拷贝文件到文件夹。下面是一个例子:```pythonimport s...
    99+
    2023-09-27
    python
  • linux怎么拷贝文件夹到另一个文件夹
    在Linux中,可以使用`cp`命令来拷贝文件夹到另一个文件夹。以下是拷贝文件夹的两种常见方法:1. 拷贝文件夹及其内容:```cp...
    99+
    2023-10-09
    linux
  • linux scp怎么远程拷贝文件及文件夹
    本篇内容介绍了“linux scp怎么远程拷贝文件及文件夹”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!拷贝本机/home/administ...
    99+
    2023-06-13
  • C#实现拷贝文件到另一个文件夹下
    目录C#拷贝文件到另一个文件夹下C#文件搬运(从一个文件夹Copy至另一个文件夹)总结C#拷贝文件到另一个文件夹下 /// <summary> /// 拷贝文件到另一个文...
    99+
    2023-01-28
    C#拷贝文件 C#拷贝文件夹 C#拷贝
  • Linux拷贝文件夹的方法有哪些
    在Linux中,有多种方法可以拷贝文件夹。以下是其中一些常见的方法:1. 使用cp命令:cp -r 源文件夹 目标文件夹。这将递归地...
    99+
    2023-10-23
    Linux
  • Linux拷贝服务器文件夹到本地
    方法1:scp命令 scp命令是用于通过 SSH 协议安全地将文件复制到远程系统和从远程系统复制文件到本地的命令。Linux SCP 命令是一种在两个远程节点之间传输文件的便捷且安全的方式,使用 SSH 意味着它享有与 SSH 相同级别的数...
    99+
    2023-09-05
    服务器 linux 运维
  • xcopy怎么实现批处理拷贝文件或文件夹
    这篇文章主要介绍“xcopy怎么实现批处理拷贝文件或文件夹”,在日常操作中,相信很多人在xcopy怎么实现批处理拷贝文件或文件夹问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”xcopy怎么实现批处理拷贝文件或...
    99+
    2023-06-08
  • 使用java 如何实现一个文件夹拷贝功能
    使用java 如何实现一个文件夹拷贝功能?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。实例代码:import java.io.File;import java.io.Fil...
    99+
    2023-05-31
    java 文件夹拷贝 ava
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作