File 文件搜索,啤酒问题,删除非空文件夹

2024-05-04 18:12

本文主要是介绍File 文件搜索,啤酒问题,删除非空文件夹,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

案例:文件搜索


需求:

从D:盘中,搜索"QQ.exe”这个文件,找到后直接输出其位置。


分析: 


1先找出D:盘下的所有一级文件对象
2遍历全部一级文件对象,判断是否是文件
3如果是文件,判断是否是自己想要的
如果是文件夹,需要继续进入到该文件夹,重复上述过程

import java.io.File;
import java.io.IOException;public class FileSearch {public static void main(String[] args) throws IOException {search(new File("D:\\"),"geek.exe");}/*** 去目录下搜索某个文件* @param dir  目录* @param filename  要搜索的名称*/public static void search(File dir,String filename) throws IOException {//把非法的情况都拦截住if(dir==null|| !dir.exists()||dir.isFile()){return;//代表无法搜索}//2、dir不是null,存在,一定是目录对象//获取当前文件目录下全部的以及文件对象File[]files=dir.listFiles();//3、判断当前目录下是否存在一级文件对象,以及它是否可以拿到一级文件对象if (files!=null&& files.length>0){//4、遍历全部的一级文件对象for (File f : files) {//5、判断文件是否是文件,还是文件夹if (f.isFile()){//是文件,判断这个文件名是否是我们要找的if (f.getName().contains(filename)){System.out.println("找到了,"+f.getAbsolutePath());Runtime runtime=Runtime.getRuntime();runtime.exec(f.getAbsolutePath());}}else{//是文件夹,需要继续重复这个过程(递归)search(f,filename);}}}}
}

删除非空字符串

import java.io.File;
//删除非空字符串
public class FileDelete {public static void main(String[] args) {delete(new File("E:/磊哥面授/java基础/视频"));}public static void delete(File dir){if (dir==null||!dir.exists()){return;}if (dir.isFile()){dir.delete();return;}//dir存在且是文件夹,拿里面的一级文件对象File[]files=dir.listFiles();if (files==null){return;}//这是一个有内容的文件,干掉里面的内容,再干掉自己for (File file : files) {if (file.isFile()){file.delete();}else{delete(file);}}dir.delete();}
}

啤酒问题:啤酒2块钱一瓶,4个盖子可以换一瓶,两个空瓶可以再换一瓶,请问10块钱可以喝多少瓶

public class FilePiJiu {public static int totlenumber;public static int lastcovers;public static int lastbottles;public static void main(String[] args) {//啤酒问题:啤酒2块钱一瓶,4个盖子可以换一瓶,两个空瓶可以再换一瓶,请问10块钱可以喝多少瓶buy(10);System.out.println("总数"+totlenumber);System.out.println("剩余盖子数"+lastcovers);System.out.println("剩余瓶数"+lastbottles);}public static void buy(int money){//1、先买了再说int buynumber=money/2;totlenumber+=buynumber;//把盖子和瓶子继续换成钱继续买//计算本轮总的盖子数和瓶子树int allcovers=lastcovers+buynumber;int allbottles=lastbottles+buynumber;int allmoney=0;if (allbottles>=2){allmoney+=(allbottles/2)*2;}lastbottles=allbottles%2;if (allcovers>=4){allmoney+=(allcovers/4)*2;}lastcovers=allcovers%4;if (allmoney>=2){buy(allmoney);}}
}

这篇关于File 文件搜索,啤酒问题,删除非空文件夹的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/959808

相关文章

SpringBoot项目jar依赖问题报错解析

《SpringBoot项目jar依赖问题报错解析》本文主要介绍了SpringBoot项目中常见的依赖错误类型、报错内容及解决方法,依赖冲突包括类找不到、方法找不到、类型转换异常等,本文给大家介绍的非常... 目录常见依赖错误类型及报错内容1. 依赖冲突类错误(1) ClassNotFoundExceptio

MybatisPlus 多数据源切换@DS注解失效问题解决

《MybatisPlus多数据源切换@DS注解失效问题解决》在业务开发中使用到了多数据源,遇到了@DS注解失效问题,有两个场景使用到同一个@DS的查询方法,下面就来介绍一下该问题的解决,感兴趣的可以... 在业务开发中使用到了多数据源,遇到了@DS注解失效问题,有两个场景使用到同一个@DS的查询方法,一个正

Centos7 firewall和docker冲突问题及解决过程

《Centos7firewall和docker冲突问题及解决过程》本文描述了一个在CentOS7上使用firewalld和Docker容器的问题,当firewalld启动或重启时,会从iptable... 目录系统环境问题描述问题排查解决办法总结本文只是我对问题的记录,只能用作参考,不能China编程说明问题,请

Python在二进制文件中进行数据搜索的实战指南

《Python在二进制文件中进行数据搜索的实战指南》在二进制文件中搜索特定数据是编程中常见的任务,尤其在日志分析、程序调试和二进制数据处理中尤为重要,下面我们就来看看如何使用Python实现这一功能吧... 目录简介1. 二进制文件搜索概述2. python二进制模式文件读取(rb)2.1 二进制模式与文本

JAVA Calendar设置上个月时,日期不存在或错误提示问题及解决

《JAVACalendar设置上个月时,日期不存在或错误提示问题及解决》在使用Java的Calendar类设置上个月的日期时,如果遇到不存在的日期(如4月31日),默认会自动调整到下个月的相应日期(... 目录Java Calendar设置上个月时,日期不存在或错误提示java进行日期计算时如果出现不存在的

Mybatis对MySQL if 函数的不支持问题解读

《Mybatis对MySQLif函数的不支持问题解读》接手项目后,为了实现多租户功能,引入了Mybatis-plus,发现之前运行正常的SQL语句报错,原因是Mybatis不支持MySQL的if函... 目录MyBATis对mysql if 函数的不支持问题描述经过查询网上搜索资料找到原因解决方案总结Myb

Nginx错误拦截转发 error_page的问题解决

《Nginx错误拦截转发error_page的问题解决》Nginx通过配置错误页面和请求处理机制,可以在请求失败时展示自定义错误页面,提升用户体验,下面就来介绍一下Nginx错误拦截转发error_... 目录1. 准备自定义错误页面2. 配置 Nginx 错误页面基础配置示例:3. 关键配置说明4. 生效

Python列表的创建与删除的操作指南

《Python列表的创建与删除的操作指南》列表(list)是Python中最常用、最灵活的内置数据结构之一,它支持动态扩容、混合类型、嵌套结构,几乎无处不在,但你真的会创建和删除列表吗,本文给大家介绍... 目录一、前言二、列表的创建方式1. 字面量语法(最常用)2. 使用list()构造器3. 列表推导式

MyBatis-Plus逻辑删除实现过程

《MyBatis-Plus逻辑删除实现过程》本文介绍了MyBatis-Plus如何实现逻辑删除功能,包括自动填充字段、配置与实现步骤、常见应用场景,并展示了如何使用remove方法进行逻辑删除,逻辑删... 目录1. 逻辑删除的必要性编程1.1 逻辑删除的定义1.2 逻辑删php除的优点1.3 适用场景2.

Springboot3统一返回类设计全过程(从问题到实现)

《Springboot3统一返回类设计全过程(从问题到实现)》文章介绍了如何在SpringBoot3中设计一个统一返回类,以实现前后端接口返回格式的一致性,该类包含状态码、描述信息、业务数据和时间戳,... 目录Spring Boot 3 统一返回类设计:从问题到实现一、核心需求:统一返回类要解决什么问题?