File 递归删除文件夹中所有文件文件夹

package com.swift.kuozhan;

import java.io.File;
import java.util.Scanner; /*键盘录入一个文件夹路径,删除该路径下的所有文件文件夹,包括自己。
要求:文件夹中包含有子文件夹*/ public class TheLat { public static void main(String[] args) {
File dir = inputDir();
delete(dir); } private static void delete(File dir) {
for(File file:dir.listFiles()) {
if(file.isDirectory()) {
delete(file);
}else {
file.delete();
}
}
dir.delete();
System.out.println("整个文件夹及其中文件都被删除");
} private static File inputDir() { System.out.println("请录入一个目录");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
File file = new File(str);
if (!file.exists()) {
throw new RuntimeException("垓目录不存在!");
}
if (!file.isDirectory()) {
throw new RuntimeException("输入的不是一个目录");
} return file;
} }

又写了一遍

package com.swift.kuozhan;

import java.io.File;
import java.util.Scanner; /*键盘录入一个文件夹路径,删除该路径下的所有文件夹。
要求:文件夹中包含有子文件夹*/ public class TheLat { public static void main(String[] args) {
File dir = inputDir();
delete(dir); } private static void delete(File dir) {
for(File file:dir.listFiles()) {
if(file.isDirectory()) {
delete(file);
}else {
boolean success=file.delete();
if(success) {
System.out.println("文件删除成功.");
}else {
System.out.println("正在使用,删除失败");
}
}
}
boolean success=dir.delete();
if(success) {
System.out.println("目录中的文件夹及其中文件都被删除");
}else {
System.out.println("文件夹正在使用,删除失败");
}
} private static File inputDir() { System.out.println("请录入一个目录");
Scanner scan = new Scanner(System.in);
String str = scan.nextLine();
File file = new File(str);
if (!file.exists()) {
throw new RuntimeException("垓目录不存在!");
}
if (!file.isDirectory()) {
throw new RuntimeException("输入的不是一个目录");
} return file;
} }

找不同

====================================================================================================

package com.swift.test;

import java.io.File;
import java.io.FileFilter;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner; /*从控制台获取输入的文件目录然后将该目录(包含子目录)下的.java文件复制到e:/abc文件夹中,
并统计java文件的个数.
提示:如果有相同的名称的文件,如果两个Test01.java,则拷贝到目标文件夹时只能有一个Test01.java,
另一个Test01.java要修改为另一个名称:该名称可随机生成,只要不重复即可.*/ public class CopyJavaFileCount { private static int sum=0; public static void main(String[] args) throws IOException { Scanner scan=new Scanner(System.in);
String path = scan.nextLine();
File src=new File(path);
File dest=new File("d:/asdf");
if(!dest.exists()) {
dest.mkdirs();
}
copy(src,dest);
System.out.println(".java文件的个数是"+sum);
} private static void copy(File src, File dest) throws IOException { File[] files = src.listFiles(new FileFilter() { @Override
public boolean accept(File pathname) { if(pathname.isDirectory()) {
try {
copy(pathname,dest);
} catch (IOException e) {
e.printStackTrace();
}
}
if(pathname.getName().toLowerCase().endsWith(".java")) {
return true;
}
return false;
}
});
for(File file:files) {
String name = file.getName();
File destFile=new File(dest,name);
copyFile(file,destFile);
System.out.println(file);
}
sum=sum+files.length;
} public static void copyFile(File file1,File file2) throws IOException{
FileInputStream fis=new FileInputStream(file1);
// 2.创建字节输出流对象关联文件路径:D盘下的a.png
FileOutputStream fos=new FileOutputStream(file2);
// 3.定义一个字节数组,用来存放读取到文件字节数
byte[] buf=new byte[128];
int len;
// 4.使用循环不断从字节输入流读取一个字节数组,每读取一个字节数组就利用输出流写出一个字节数组。
while((len=fis.read(buf))!=-1) {
fos.write(buf,0,len);
}
System.out.println("已经copy成功");
// 5.关闭流,释放资源
fis.close();
fos.close();
}
}

java基础 File 递归删除文件夹中所有文件文件夹 目录(包含子目录)下的.java文件复制到e:/abc文件夹中, 并统计java文件的个数的更多相关文章

  1. Java版本的删除指定目录及子目录下名叫“xxx.txt”的所有文件

    以前写过一个python版本的,但是在查找文件路径的时候出现错误,无法正确的获取到文件的路径,就造成无法删除该路径下的“xxx.txt”文件. 当时以为是windows版本系统的错误造成这个问题的,也 ...

  2. Java版本的在指定目录及子目录下创建指定的文件

    和删除指定目录及子目录下名叫“xxx.txt”的所有文件一样,也是使用递归的方式实现的. 代码如下: public class Example826003 { private static FileO ...

  3. python递归列出目录及其子目录下所有文件

    python递归列出目录及其子目录下所有文件 一.前言 函数的递归,简单来说,就是函数内部调用自己 先举个小例子,求阶乘 def factorial(n): if n == 0: return 1 e ...

  4. 2.获取指定目录及子目录下所有txt文件的个数,并将这些txt文件复制到F盘下任意目录

    package cn.it.text; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import ...

  5. [整理]VS2010中如何添加“依赖","库目录","包含目录"

    VS2010中如何添加“依赖","库目录","包含目录" 1. 添加编译所需要(依赖)的 lib 文件[解决方案资源管理器]“项目->属性-&g ...

  6. java基础 File与递归练习 使用文件过滤器筛选将指定文件夹下的小于200K的小文件获取并打印按层次打印(包括所有子文件夹的文件) 多层文件夹情况统计文件和文件夹的数量 统计已知类型的数量 未知类型的数量

    package com.swift.kuozhan; import java.io.File; import java.io.FileFilter; /*使用文件过滤器筛选将指定文件夹下的小于200K ...

  7. JAVA基础-File类

    一.File类概述 File类是文件和目录路径名的抽象表示形式.File类可以理解为一个文件路径或者文件夹路径的JAVA表现形式,而路径又可以分为绝对路径(是一个固定路径,从盘符开始),相对路径(相对 ...

  8. java基础-File

    File类 * File更应该叫做一个路径, 文件路径或者文件夹路径    * 路径分为绝对路径和相对路径  * 绝对路径是一个固定的路径,从盘符开始  * 相对路径相对于某个位置,在eclipse下 ...

  9. Linux复制指定目录及子目录下特定类型的文件

    首先建立一个用于测试的目录,用'tree'命令查看其结构如下所示: 可见,目录中主要包含用于测试的*.txt文件和用于充当炮灰的*.tes文件 目标是保持当前的目录结构,只把txt文件复制出来 方法一 ...

随机推荐

  1. LeetCode 110.平衡二叉树(C++)

    给定一个二叉树,判断它是否是高度平衡的二叉树. 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1. 示例 1: 给定二叉树 [3,9,20,null,nu ...

  2. lftp 快速使用

    登录 lftp username:password@ip:port 设置字符集 set ftp:charset 'gbk' set ftp:charset 'utf-8' 下载文件 mget *.tx ...

  3. springCloud 概念介绍

    微服务(Microservice) 那么首先介绍下微服务.微服务英文名称Microservice,Microservice架构模式就是将整个Web应用组织为一系列小的Web服务.这些小的Web服务可以 ...

  4. MVC4 过滤器使用和怎样控制全部action和部分action

    MVC中的过滤器分四种分别为:IActionFilter(动作过滤器), IAuthorizationFilter(授权过滤器), IExceptionFilter(异常过滤器), IResultFi ...

  5. 表单(form)成为 ajax 提交的表单(form)

    1.form <form id="ff" method="post"> <div> <label for="name&q ...

  6. SpingCloud微服务架构学习(一)之服务提供者与服务消费者

    微服务构建的是分布式系统,各个微服务之间通过网络进行服务调用,这就有了服务提供者(被调用方)和服务消费者(调用方),以电影售票系统为例,假设服务调用关系如下图所示: 围绕此场景,我们先编写一个用户微服 ...

  7. window.open方法解析

    一.前言 最近在项目中需要新窗口打开一个第三方的页面,大家都知道,使用window.open打开新窗口某些情况下会被浏览器的屏蔽程序阻止.如果要打开的URL是通过AJAX获取的,就一定会被浏览器拦截. ...

  8. 关于objc.io

    推荐一个特别棒的项目:objc.io 原版地址:http://www.objc.io/ 中国版地址:http://objccn.io/ 欢迎大家前去学习,如果你有不错的东西,也欢迎跟帖分享.

  9. HTML文本格式化用法

    1.HTML 文本格式化标签 标签 描述 <b> 定义粗体文本 <em> 定义着重文字,显示为斜体 <i> 定义斜体字 <small> 定义小号字 &l ...

  10. 被遗忘的设计模式——空对象模式(Null Object Pattern)

    GoF(四人帮)那本<设计模式 可复用面向对象软件的基础>可谓是设计模式方面的经典之作,其中介绍的23种设计模式, 也可谓是经典中的经典.但是,设计模式的种类绝不仅仅是这23种,除此之外还 ...