java中怎样获得一个文件夹中的所有文件名

java中怎样获得一个文件夹中的所有文件名,第1张

File file=new File("D:\\");

String test[];

test=filelist();

for(int i=0;i<testlength;i++)

{

Systemoutprintln(test[i]);

}

定义对象File,传入路径参数,File提供方法getName直接获得路径的名称,即你想要的部分

File file = new File("xxxx");

Systemoutprintln(filegetName());

-----------------------------------------------

String getName()

返回由此抽象路径名表示的文件或目录的名称。

参见参考资料

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

import javaioFile;

import javautilHashMap;

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 = filelistFiles();

//如果文件数组为null则返回

if (files == null)

return;

for (int i = 0; i < fileslength; i++) {

if (files[i]isDirectory()) {

//判断是不是文件夹,如果是文件夹则继续向下查找文件

find(files[i]getAbsolutePath());

} else {

//记录文件路径

String filePath = files[i]getAbsolutePath()toLowerCase();

//记录文件名

String fileName=files[i]getName()toLowerCase();

// Systemoutprintln("---"+strFileName);

filelistput(fileName, filePath);

}

}

}

public static void main(String[] args) {

//需要遍历的路径,也就是你要查找文件所在的路径

String path="D:\\kpi\\";

find(path);

Systemoutprintln("kpi9的路径:"+filelistget("kpi9"));

//输出结果:d:\kpi\kpi9

}

}

应该改成

File f = new File("D:\\123456txt");

在Java的字符串中\默认是转义字符的,如果要表示一个\,那么就需要双斜线。

fgetName()这个作用是

“返回由此抽象路径名表示的文件或目录的名称。该名称是路径名名称序列中的最后一个名称。如果路径名名称序列为空,则返回空字符串。 ”

所以,他输出的是123456txt,

即使是再添一个文件夹,像File f = new File("D:\\test\\123456txt");

输出的仍然是123456txt。

基本上面几位都说啦。。。

只说一点就是注意null和空的处理

import javaioFile;

import javautilHashSet;

import javautilSet;

public class ReadFileSample {

private static final String PATH = "C:\\TEST";

private static final char SEPARATOR = '_';

public static void main(String[] args) {

Set<String> fileSet = new HashSet<String>();

File[] files = new File(PATH)listFiles();

for (File file : files) {

// 由于Set的元素是不重复的,不用做重复判断,直接放入

fileSetadd(getPrefixFileName(filegetName()));

}

// 由于Set允许null,所以要去除

fileSetremove(null);

// 打印出Set的内容(需要的数据)

Systemoutprintln(fileSet);

}

private static String getPrefixFileName(String fileName) {

if (fileName == null || fileNamelength() == 0) {

return null;

}

int index = fileNameindexOf(SEPARATOR);

if (index < 0) {

// 不含SEPARATOR的文件名

return null;

}

// 从文件名开头到SEPARATOR的位置,截取

return fileNamesubstring(0, index);

}

}

以上就是关于java中怎样获得一个文件夹中的所有文件名全部的内容,包括:java中怎样获得一个文件夹中的所有文件名、java获取当前文件夹名字、java 根据文件获取文件名及路径的方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9310215.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存