java 根据文件获取文件名及路径的方法

Python058

java 根据文件获取文件名及路径的方法,第1张

我写了一段遍历某个文件查找指定文件的,你自己改成你需要的功能。

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])

}

}

}

}