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

相关文章

好题——hdu2522(小数问题:求1/n的第一个循环节)

好喜欢这题,第一次做小数问题,一开始真心没思路,然后参考了网上的一些资料。 知识点***********************************无限不循环小数即无理数,不能写作两整数之比*****************************(一开始没想到,小学没学好) 此题1/n肯定是一个有限循环小数,了解这些后就能做此题了。 按照除法的机制,用一个函数表示出来就可以了,代码如下

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

hdu1240、hdu1253(三维搜索题)

1、从后往前输入,(x,y,z); 2、从下往上输入,(y , z, x); 3、从左往右输入,(z,x,y); hdu1240代码如下: #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#inc

电脑桌面文件删除了怎么找回来?别急,快速恢复攻略在此

在日常使用电脑的过程中,我们经常会遇到这样的情况:一不小心,桌面上的某个重要文件被删除了。这时,大多数人可能会感到惊慌失措,不知所措。 其实,不必过于担心,因为有很多方法可以帮助我们找回被删除的桌面文件。下面,就让我们一起来了解一下这些恢复桌面文件的方法吧。 一、使用撤销操作 如果我们刚刚删除了桌面上的文件,并且还没有进行其他操作,那么可以尝试使用撤销操作来恢复文件。在键盘上同时按下“C

购买磨轮平衡机时应该注意什么问题和技巧

在购买磨轮平衡机时,您应该注意以下几个关键点: 平衡精度 平衡精度是衡量平衡机性能的核心指标,直接影响到不平衡量的检测与校准的准确性,从而决定磨轮的振动和噪声水平。高精度的平衡机能显著减少振动和噪声,提高磨削加工的精度。 转速范围 宽广的转速范围意味着平衡机能够处理更多种类的磨轮,适应不同的工作条件和规格要求。 振动监测能力 振动监测能力是评估平衡机性能的重要因素。通过传感器实时监

缓存雪崩问题

缓存雪崩是缓存中大量key失效后当高并发到来时导致大量请求到数据库,瞬间耗尽数据库资源,导致数据库无法使用。 解决方案: 1、使用锁进行控制 2、对同一类型信息的key设置不同的过期时间 3、缓存预热 1. 什么是缓存雪崩 缓存雪崩是指在短时间内,大量缓存数据同时失效,导致所有请求直接涌向数据库,瞬间增加数据库的负载压力,可能导致数据库性能下降甚至崩溃。这种情况往往发生在缓存中大量 k

6.1.数据结构-c/c++堆详解下篇(堆排序,TopK问题)

上篇:6.1.数据结构-c/c++模拟实现堆上篇(向下,上调整算法,建堆,增删数据)-CSDN博客 本章重点 1.使用堆来完成堆排序 2.使用堆解决TopK问题 目录 一.堆排序 1.1 思路 1.2 代码 1.3 简单测试 二.TopK问题 2.1 思路(求最小): 2.2 C语言代码(手写堆) 2.3 C++代码(使用优先级队列 priority_queue)

hdu 4517 floyd+记忆化搜索

题意: 有n(100)个景点,m(1000)条路,时间限制为t(300),起点s,终点e。 访问每个景点需要时间cost_i,每个景点的访问价值为value_i。 点与点之间行走需要花费的时间为g[ i ] [ j ] 。注意点间可能有多条边。 走到一个点时可以选择访问或者不访问,并且当前点的访问价值应该严格大于前一个访问的点。 现在求,从起点出发,到达终点,在时间限制内,能得到的最大

AI基础 L9 Local Search II 局部搜索

Local Beam search 对于当前的所有k个状态,生成它们的所有可能后继状态。 检查生成的后继状态中是否有任何状态是解决方案。 如果所有后继状态都不是解决方案,则从所有后继状态中选择k个最佳状态。 当达到预设的迭代次数或满足某个终止条件时,算法停止。 — Choose k successors randomly, biased towards good ones — Close