Java拷贝文件夹和删除文件夹代码实例
1.文件夹的拷贝
public void copy(File src, File dest) throws IOException { if (dest.isFile()) { throw new RuntimeException(dest + "不是文件夹"); } File file = new File(dest.getPath() + "/" + src.getName()); if (src.isFile()) { FileInputStream fis = new FileInputStream(src); BufferedInputStream bis = new BufferedInputStream(fis); FileOutputStream fos = new FileOutputStream(file); BufferedOutputStream bos = new BufferedOutputStream(fos); byte[] bytes = new byte[1024]; int len; while ((len = bis.read(bytes)) != -1) { bos.write(bytes, 0, len); } bis.close(); fis.close(); bos.close(); fos.close(); } else if(src.isDirectory()){ file.mkdir(); File[] files = src.listFiles(); for (File file2 : files) { copy(file2, dest); } } }
2. 删除整个文件夹:
public void delete(File dir) { if (dir.isDirectory()) { File[] files = dir.listFiles(); for (File file : files) { delete(file); } } dir.delete(); }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
浅谈Java中实现深拷贝的两种方式—clone() & Serialized
clone() 方法麻烦一些,需要将所有涉及到的类实现声明式接口 Cloneable,并覆盖Object类中的clone()方法,并设置作用域为public(这是为了其他类可以使用到该clone方法). 序列化的方法简单,需要将所有涉及到的类实现接口Serializable package b1ch06.clone; import java.io.Serializable; class Car implements Cloneable, Serializable { private String
-
java实现文件拷贝的七种方式
1. 通过字节流实现文件的拷贝 /** * 通过字节流实现文件的拷贝 * @param sourcePath 源文件路径 * @param targetPath 目标文件路径 */ public static void copyFileByStream(String sourcePath,String targetPath){ //源文件路径 File source = new File(sourcePath); //目标文件路径 File target = new File(targetPat
-
java复制文件的4种方式及拷贝文件到另一个目录下的实例代码
尽管Java提供了一个可以处理文件的IO操作类. 但是没有一个复制文件的方法. 复制文件是一个重要的操作,当你的程序必须处理很多文件相关的时候. 然而有几种方法可以进行Java文件复制操作,下面列举出4中最受欢迎的方式. 1. 使用FileStreams复制 这是最经典的方式将一个文件的内容复制到另一个文件中. 使用FileInputStream读取文件A的字节,使用FileOutputStream写入到文件B. 这是第一个方法的代码: private static void copyFileU
-
Java Clone深拷贝与浅拷贝的两种实现方法
1.首先,你要知道怎么实现克隆:实现Cloneable接口,在bean里面重写clone()方法,权限为public. 2.其次,你要大概知道什么是地址传递,什么是值传递. 3.最后,你要知道你为什么使用这个clone方法. 先看第一条,简单的克隆代码的实现.这个也就是我们在没了解清楚这个Java的clone的时候,会出现的问题. 看完代码,我再说明这个时候的问题. 先看我要克隆的学生bean的代码: package com.lxk.model; /** * 学生类:有2个属性:1,基本属性-S
-
Java利用文件输入输出流实现文件夹内所有文件拷贝到另一个文件夹
一.基本目标 使用Java完成如下的操作: 把一个文件夹内的所有文件拷贝的另一的文件夹,例如,在F盘中有a与b两个文件夹: f:/a里面有一堆文件,运行Java程序之后就会全部复制到f:/b,并且完成重命名,在所有文件之前加rename_的前缀,如果里面有文件夹,则文件夹不重命名,里面的文件进行重命名,同样在所有文件之前加rename_的前缀: 二.制作过程 1.首先主函数非常简单,就是调用了上面FileTest类中的copyFolder函数 public class FileCopy { pu
-
详解java中的深拷贝和浅拷贝(clone()方法的重写、使用序列化实现真正的深拷贝)
1.序列化实现 public class CloneUtils { @SuppressWarnings("unchecked") public static <T extends Serializable> T clone(T object){ T cloneObj = null; try { ByteArrayOutputStream out = new ByteArrayOutputStream(); ObjectOutputStream obs = new Objec
-
java高效实现大文件拷贝功能
在java中,FileChannel类中有一些优化方法可以提高传输的效率,其中transferTo( )和 transferFrom( )方法允许将一个通道交叉连接到另一个通道,而不需要通过一个缓冲区来传递数据.只有FileChannel类有这两个方法,因此 channel-to-channel 传输中通道之一必须是 FileChannel.不能在sock通道之间传输数据,不过socket 通道实现WritableByteChannel 和 ReadableByteChannel 接口,因此文件
-
Java拷贝数组方法Arrays.copyOf()是地址传递的证明实例
在看别人的关于CopyOnWriteArrayList 这个类的时候,看到有人提出了关于:数组拷贝的方法Arrays.copyOf() 的问题,如下: 只是复制了引用地址,数组内的对象还是和旧数组一样的? 看了他的问题,我也是有点迷惑了,以前都没想过这个.既然如此,我就有如下的测试,以解心中之疑惑. 看代码名字,就是从其他地方获得三个student对象到这个数组里面,打印没复制之前的数组信息.然后修改新新数组的第0个学生的名字.然后再输出copy出来的数组和源数组,看看啥情况. 结果: 虽然co
-
Linux服务器删除文件夹、删除文件、解压命令的方法
一.删除文件夹 例:rm -rf /usr/java 将会删除/usr/java目录以及其下所有文件.文件夹 二.删除文件 例:rm -f /usr/tomcat/conf/server.xml 将会强制删除/usr/tomcat/conf/server.xml这个文件 三.解压 1. 解压到当前目录 例:tar -zxvf jdk-8u131-linux-x64.tar.gz 会将jdk-8u131-linux-x64.tar.gz解压到其所在的当前目录下 以上这篇Linux服务器删除文件夹.
-
PHP FTP操作类代码( 上传、拷贝、移动、删除文件/创建目录)
复制代码 代码如下: <?php/*** 作用:FTP操作类( 拷贝.移动.删除文件/创建目录 )* 时间:2006/5/9* 作者:欣然随风* QQ:276624915*/class class_ftp{ public $off; // 返回操作状态(成功/失败) public $conn_id; // FTP连接 /** * 方法:FTP连接 * @FTP_HOST -- FTP主机 * @FTP_PORT -- 端口 * @FTP_USER
-
python3获取文件中url内容并下载代码实例
这篇文章主要介绍了python3获取文件中url内容并下载代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019-12-25 11:33 # @Author : Anthony # @Email : ianghont7@163.com # @File : get_video_audio_file.py import xlrd
-
JAVA中数组插入与删除指定元素的实例代码
今天学了Java的数组,写了数组的插入和删除,本人小白,写给不会的小白看,大神请忽略,有错请大家指出来: /** 给数组指定位置数组的插入 */ import java.util.*; public class ArrayInsert{ public static void main(String []args){ System.out.println("请用键盘输入5个数:"); int [] array =new int[10]; Scanner sc=new Scanner(Sy
-
Java OSS批量下载并压缩为ZIP代码实例
这篇文章主要介绍了Java OSS批量下载并压缩为ZIP代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 /** * 批量下载为zip * @param req * @param response * @param keyList oss文件路径集合 * @param fileName 下载出来的zip文件名(一般以合同名命名) 如:测试合同,zip */ public static void downForZip(HttpServlet
-
Java利用读写的方式实现音频播放代码实例
这篇文章主要介绍了Java利用读写的方式实现音频播放代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 public static void main(String[] args) { Audiotest at = new Audiotest("我在测试时,这里必须是盘符的音频文件"); at.start(); } import java.io.File; import java.io.IOException; import ja
-
Java编程实现从尾到头打印链表代码实例
问题描述:输入一个链表的头结点,从尾巴到头反过来打印出每个结点的值. 首先定义链表结点 public class ListNode { int val; ListNode next = null; ListNode(int val){ this.val = val; } } 思路1:此题明显想到是利用栈的思想,后进先出,先遍历链表,依次将结点值进栈.最后在遍历栈出栈. public static Stack<Integer> printListReverse_Stack(ListNode li
-
Java编程使用UDP建立群聊系统代码实例
相关java类介绍 DatagramSocket public class DatagramSocket extends Object 此类表示用来发送和接收数据报包的套接字. 数据报套接字是包投递服务的发送或接收点.每个在数据报套接字上发送或接收的包都是单独编址和路由的.从一台机器发送到另一台机器的多个包可能选择不同的路由,也可能按不同的顺序到达. 在DatagramSocket上总是启用UDP广播发送.为了接收广播包,应该将DatagramSocket绑定到通配符地址,在某些实现中,将Dat
-
java获取当前时间的四种方法代码实例
这篇文章主要介绍了java获取当前时间的四种方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 第一种:Date类 public class DateDemo { public static void main(String[] args) { Date day = new Date(); SimpleDateFormat dft = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); S
-
Java使用Socket判断某服务能否连通代码实例
这篇文章主要介绍了Java使用Socket判断某服务能否连通代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 业务场景:判断socket server在否在线,在线返回true,不在线返回false package com.thinkgem.wlw.modules.test.socketdemo; import java.io.IOException; import java.net.InetSocketAddress; import j
随机推荐
- 深入解析Swift代理模式
- 如何实现正则表达式的JavaScript的代码高亮
- 用标准件的方式来组装网页DIV布局-WEB标准网站设计心得
- 基于jQuery的网页影音播放器jPlayer的基本使用教程
- 浅谈Linux C语言动态库及静态库
- jQuery监听浏览器窗口大小的变化实例
- Python基础语法(Python基础知识点)
- PHP实现克鲁斯卡尔算法实例解析
- Symfony2学习笔记之插件格式分析
- C#使用MailAddress类发送html格式邮件的实例代码
- MySQL SQL 语法参考
- 在Linux下搭建Git服务器的方法详解
- javascript学习(二)javascript常见问题总结
- Android应用框架之应用启动过程详解
- php上传图片类及用法示例
- java基于jedisLock—redis分布式锁实现示例代码
- Vue底层实现原理总结
- vue-devtools的安装步骤
- python实现控制COM口的示例
- java正则表达式判断 ip 地址是否正确解析