java基础 File 递归删除文件夹中所有文件文件夹 …
2018-06-18 03:01:45来源:未知 阅读 ()
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(); } }
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 国外程序员整理的Java资源大全(全部是干货) 2020-06-12
- 2020年深圳中国平安各部门Java中级面试真题合集(附答案) 2020-06-11
- 2020年java就业前景 2020-06-11
- 04.Java基础语法 2020-06-11
- Java--反射(框架设计的灵魂)案例 2020-06-11
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash