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. IE7+ 浏览器兼容预览本地图片

    css #preview_fake { filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale); o ...

  2. form表单序列化数据之后,追加额外数据

    form表单序列化数据之后追加额外数据多使用在js中,下面是追加额外数据的代码: <span style="font-size:18px;">$.param({'inv ...

  3. Ant,Maven与Gradle的概念的理解

    转载地址:http://www.jianshu.com/p/cd8fe9b16369# 我们还是以AndroidStudio 2.1.1为例来讲. 用AndroidStudio就逃不开跟Gradle打 ...

  4. c3p0 数据连接池 流行开源

    注意事项:配置文件规定命名,不能更改   c3p0-config <?xml version="1.0" encoding="UTF-8"?>< ...

  5. [PHP]对象数组和普通数组总结

    1.碰到前台将JSON格式数据传递到服务器后台,经php的json_decode函数转换成的数组由于为对象数组,php程序无法对数据进行正常处理的情况,为此需要开发一个PHP回调函数(objarray ...

  6. React.js 小书 Lesson2 - 前端组件化(一):从一个简单的例子讲起

    作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson2 转载请注明出处,保留原文链接和作者信息. 很多课程一上来就给大家如何配置环境.怎么写 Re ...

  7. ios 你必须了解的系统定义宏使用

    1. UNAVAILABLE_ATTRIBUTE __attribute__((unavailable)) - (instancetype)init UNAVAILABLE_ATTRIBUTE; 告诉 ...

  8. 《Google软件测试之道》之学习笔记01

    Google软件测试介绍 软件测试团队->工程生产力(Engineering Productivity) http://googletesting.blogspot.com/2011/01/ho ...

  9. c# cook book -Linq 关于Object的比较

    实际项目中经常用到 Union,Distinct,INtersect,Execpt对列表进行处理 一般来说要首先重写 Equals 和GetHashCode方法 首先看为重写的情况: namespac ...

  10. C++中的虚函数表

    (感谢http://blog.csdn.net/haoel/article/details/1948051/) C++中的虚函数的作用主要是实现了多态的机制. 多态,简而言之就是用父类型别的指针指向其 ...