1.先通过file类获取文件名列表filename[]
2.通过string类对文件名进行分析处理,例如用int
i
=
filename.indexOf("_"),然后截取subString(0,i)或者String[]
strs
=
filename.split("_"),strs[0]就是你要的名字
3怎么解决啊,你可用一个数组存放截取后的名字,写一个判断方法,如果重复了就不写进数组
其实这些问题都不难的,关键要养成多看api,多用,水平就起来了
我写了一段遍历某个文件查找指定文件的,你自己改成你需要的功能。import java.io.File
import java.util.HashMap
public class Test1 {
static HashMap<String, String>filelist=new HashMap<String, String>()
/**
* 递归方法
* @param path 文件路径
*/
public static void find(String path){
File file=new File(path)
File[] files = file.listFiles()
//如果文件数组为null则返回
if (files == null)
return
for (int i = 0i <files.lengthi++) {
if (files[i].isDirectory()) {
//判断是不是文件夹,如果是文件夹则继续向下查找文件
find(files[i].getAbsolutePath())
} else {
//记录文件路径
String filePath = files[i].getAbsolutePath().toLowerCase()
//记录文件名
String fileName=files[i].getName().toLowerCase()
//System.out.println("---"+strFileName)
filelist.put(fileName, filePath)
}
}
}
public static void main(String[] args) {
//需要遍历的路径,也就是你要查找文件所在的路径
String path="D:\\kpi\\"
find(path)
System.out.println("kpi.9的路径:"+filelist.get("kpi.9"))
//输出结果:d:\kpi\kpi.9
}
}