Java查找指定的(前缀,后缀或中间包含)文件

 1 import java.io.File;
 2 import java.io.FileNotFoundException;
 3
 4 public class SearchFile {
 5
 6     public static void main(String[] args) throws FileNotFoundException {
 7         File files = new File("F:/");    //创建File对象,指向F盘根目录
 8         String[] names = files.list();    //获取F盘根目录所有文件和路径,并以字符串数组返回
 9         for(String s:names){    //遍历字符串数组
10             boolean a = s.startsWith("ja");    //文件名前缀带有ja的返回true,没有则返回false
11             boolean b = (new File(files.getAbsolutePath()+s)).isFile();    //判断本次循环的字符串所指向的内容是否是文件,是则返回true.否则返回false
12             boolean c = s.contains("va");    //文件名是否包含"va",包含则返回true,否则false
13             if(a&&b){    //此处条件根据需要进行修改
14                 System.out.println(s);    //打印出符合条件的文件
15             }
16         }
17     }
18
19 }

第11行:一个细节问题

如果将

boolean b = (new File(files.getAbsolutePath()+s)).isFile();

改为

boolean b = (new File(s)).isFile();

则会一直返回false,因为没有指定路径,系统会在项目的目录找s所指向的文件名,但是项目的目录内没有该文件,所以将一直判断不存在该文件

时间: 2024-08-08 09:10:19

Java查找指定的(前缀,后缀或中间包含)文件的相关文章

用JAVA查找指定目录下包含关键字的文件

最近要改一个产品到MYSQL数据库,源代码是遗留下来的,里面有很多反编译的文件,并且带有错误.因此想要删掉这些反编译文件,避免干扰.好在这些文件内容里都带有反编译器的信息.通过关键字在ECLIPSE下搜索发现了500+个文件,无奈只好想办法批量删除.首先想到用脚本语言(bat),网上找了一遍,没有合适的,最后决定用JAVA实现. 1 public static String[] findFiles(String baseURL,String... contains){ 2 File baseDI

JAVA输出指定目录下的子目录和子文件

题目:给定一个目录,要求输出这个目录下面的子目录和子文件 逻辑: 先判断给定的是不是一个合法的目录,如果不是,则提示给定错误 如果是目录,那么使用File.listFile()获得这个目录下文件名的数组 循环遍历输出这个数组元素 输出名称之后,接着判断这个元素是文件还是目录 如果是目录,继续调用本方法来输出子目录 代码如下: /** * 输出指定目录下的所有子目录和子文件 * * @author DXY * */ public class HelloFile { public static vo

Java扫描指定文件路径下的文件并且递归扫描其子目录下的所有文件

本文主要实现了扫描指定文件路径下的文件,递归扫描其子目录下的所有文件信息,示例文件为: 要求将后缀为.dat的文件夹信息也写入到数据库中,然后将.chk文件解析,将文件中对应的内容读出来写入到数据库,对应类为ChkFileParseFactroy,本文文件发现代码为: 1 package com.src.service.impl; 2 3 import java.io.File; 4 import java.net.InetAddress; 5 import java.net.NetworkIn

java查找重复类/jar包/普通文件

开发web应用时,有时更新了类却没有生效,其实是因为jboss/tomcat中其他发布包下有同名类(包括全路径都相同). 于是萌发了做个程序来检查指定目录是否存在重复类(通过asm从类文件中取类的全路径),扩展开来,还支持查找重复的文件(按文件md5进行比较),重复的jar文件. 主要代码如下: 简单测试代码: package cn.jerryhouse.util.dup_files.test; import java.io.File; import org.junit.Test; import

数组元素查找(查找指定元素第一次在数组中出现的索引)

import java.util.Scanner; /* * 需求:数组元素查找(查找指定元素第一次在数组中出现的索引) * (1)给定数组int[] arr={5,7,3,2,5} * (2)要查询的元素通过键盘录入的方式确定 * (3)定义一个查找数组元素第一次出现位置的方法(注:要查找的元素就是键盘录入的数据) * *分析: * A:定义数组int[] arr={5,7,3,2,5}; * B:键盘录入一个被查询的数据 * C:写方法实现查找指定元素在数据中第一次出现的索引 * 遍历数组,

笔试算法题(09):查找指定和值的两个数 & 构造BST镜像树

出题:输入一个已经升序排序的数组和一个数字:要求在数组中查找两个数,这两个数的和正好等于输入的那个数字,输出任意一对数字就可以,要求时间复杂度是O(n): 分析:对于升序排序的数组{-i-j-k-m--},只有可能是i+m=j+k(j和k可能是同一个数),所以可以从两边往中间收缩而忽视其他交叉相加的情况: 解题: 1 void FindSumFactor(int *array, int length, int sum) { 2 int left=0, right=length-1; 3 whil

2016/1/14 java生成指定范围的随机数

java生成指定范围的随机数 1 package edu.sjtu.erplab.io; 2 3 import java.util.Random; 4 5 public class RandomTest { 6 public static void main(String[] args) { 7 int max=20; 8 int min=10; 9 Random random = new Random(); 10 11 int s = random.nextInt(max)%(max-min+

在eclipse中查找指定文件

1.ctrl+h打开搜索界面 File Search: containing text填*,File name patterns填写hello.*,可以找到hello为命名的文件 知道文件类型,查找里面的login 2.ctrl+shift+t查找工作空间(workspace)java类文件 注意:由于是查找工作空间的,所以多的项目时找到多个类用鼠标指向去看时属于哪个项目 如下查找类文件ServiceVO,找到后会自动指向该类文件 3.ctrl+shift+r 和[Ctrl+Shift+T]对应

*字符串-01. 在字符串中查找指定字符

1 /* 2 * Main.c 3 * D1-字符串-01. 在字符串中查找指定字符 4 * Created on: 2014年8月18日 5 * Author: Boomkeeper 6 *****部分通过****** 7 */ 8 9 #include <stdio.h> 10 11 int mysearch(char ch, const char str[], int length) { 12 13 int j, ret = -1; 14 15 for (j = 0; j < le