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
}
}
这道题主要就是利用了String类的split()方法,进行多次调用,已经帮你实现了,代码如下:public
class
Test{
public
static
void
main(String[]
args){
String
str
=
"c:/win/good/aaa.txtd:/win/good/bbb.txtc:/win/cccc.txt"
//得到路径数组
String[]
fileRoot
=
str.split("")
String[]
fileName
=
null
for(int
i
=
0i
<
fileRoot.lengthi++){
if(fileRoot[i]
!=
null){
fileName
=
fileRoot[i].split("/")
//得到最终需要的文件名
System.out.println
(fileName[fileName.length-1])
}
}
}
}