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. 随笔1:Markdown语法学习

    学习背景 日常工作学习的时候,总喜欢用有道在线笔记记录点东西,不过以往都没太在意笔记的整理和排版,代码或者图片什么的都是直接贴在笔记上,不美观不说,有些代码格式也不容易进行区分,格式也在复制的时候容易 ...

  2. (转)shell中各种括号的作用()、(())、[]、[[]]、{}

    shell中各种括号的作用().(()).[].[[]].{} 原文:http://www.jb51.net/article/60326.htm http://blog.csdn.net/good_h ...

  3. escape、encodeURI以及encodeURIComponent

    在标准中,只有字母和数字[0-9a-zA-Z].一些特殊符号"$-_.+!*'(),"[不包括双引号].以及某些保留字,才可以不经过编码直接用于URL.但是比如我们搜索时,往往会输 ...

  4. 连接MySql的时候报1130的错误解决办法

    部署了一个 数据库采用Mysql的程序,sqlyog连接非本地的Mysql服务器的数据库,居然无法连接很奇怪,报1130错误,ERROR 1130: Host 192.168.3.100 is not ...

  5. C# 将外部exe程序 嵌入到自己的窗体界面

    将别人开发的exe程序,放到自己的窗体里面来运行. 1.基本功能实现 首先,在自己的窗体后面加上代码: [DllImport("User32.dll", EntryPoint = ...

  6. SQLite的使用

    通常在大型系统和网站一般使用的数据基本上就是Oracle,MySQL,MSSqlServer三种.但是在某些情况下会相对麻烦,如果仅仅需要在客户端保存一些数据.SQLite无疑是最佳选择之一.他是一种 ...

  7. golang and mogodb

    1.golang的mogodb包下载:http://gopkg.in/mgo.v2    http://gopkg.in/mgo.v2/bson 2.golang的mongodb操作(mgo):htt ...

  8. Fluent API配置

    1.Fluent API配置Model试用行更广 2.使用方法: public class TransferConfig: EntityTypeConfiguration<TransferInf ...

  9. DO、PO、BO、DTO、VO等概念

    PO 全称为:Persistant Object,持久化对象,与数据库结构映射的实体,数据库中的一条数据即为一个 PO 对象. BO 全称为:Business Object,业务对象,主要作用是把业务 ...

  10. 配置Slf4j依赖,桥接各种多个日志组件(排除commons-logging依赖的影响)

    由于各个jar组件使用的日志框架不一样,实际项目中可能会引入多个jar,通常使用的日志框架有 commons-logging log4j 若同一个项目引入多个日志组件,那么Slf4j组件会有不能捕捉到 ...