「java目录中所有文件」使用java代码列出一个目录下所有的文件
本篇文章给大家谈谈java目录中所有文件,以及使用java代码列出一个目录下所有的文件对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java中如何获取目录中的所有文件
- 2、java怎么查询指定路径下所有文件夹
- 3、java列出文件夹下的所有文件
- 4、在java中如何遍历某个路径下的所有文件夹和文件
- 5、java怎么获取一个目录下的所有文件名
java中如何获取目录中的所有文件
public static void list(File path, String[] extArr,HashMap hm) {
if (!path.exists()) {
System.out.println("文件名称不存在!");
} else {
if (path.isFile()) {
for (int i = 0; i extArr.length; i++) {
if (path.getName().toLowerCase().endsWith(extArr[i])) {// 文件格式
hm.put(path.getName(), path);
}
}
} else {
File[] files = path.listFiles();
for (int i = 0; i files.length; i++) {
list(files[i], extArr,hm);
}
}
}
}
java怎么查询指定路径下所有文件夹
Java程序中读取某个目录下的所有文件(下面以D盘下的baidu文件夹为例),代码如下:
import java.io.File;
public class Test1 {
public static void main(String[] args) {
String path="D:/baidu/";
File file=new File(path);
File[] tempList = file.listFiles();
System.out.println("该目录下对象个数:"+tempList.length);
for (int i = 0; i tempList.length; i++) {
if (tempList[i].isFile()) {
//读取某个文件夹下的所有文件
System.out.println("文件:"+tempList[i]);
}
if (tempList[i].isDirectory()) {
//读取某个文件夹下的所有文件夹
System.out.println("文件夹:"+tempList[i]);
}
}
}
}
java列出文件夹下的所有文件
/**
* 获取指定路径下的所有文件列表
*
* @param dir 要查找的目录
* @return
*/
public static ListString getFileList(String dir) {
ListString listFile = new ArrayList();
File dirFile = new File(dir);
//如果不是目录文件,则直接返回
if (dirFile.isDirectory()) {
//获得文件夹下的文件列表,然后根据文件类型分别处理
File[] files = dirFile.listFiles();
if (null != files files.length 0) {
//根据时间排序
Arrays.sort(files, new ComparatorFile() {
public int compare(File f1, File f2) {
return (int) (f1.lastModified() - f2.lastModified());
}
public boolean equals(Object obj) {
return true;
}
});
for (File file : files) {
//如果不是目录,直接添加
if (!file.isDirectory()) {
listFile.add(file.getAbsolutePath());
} else {
//对于目录文件,递归调用
listFile.addAll(getFileList(file.getAbsolutePath()));
}
}
}
}
return listFile;
}
在java中如何遍历某个路径下的所有文件夹和文件
首先,我们先来遍历一下D盘根目录下所有的子文件:public
static
void
fileList()
{
File
file=new
File("d:/");
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
System.out.println(f.getPath());
}
}
}对此,我们肯定不满足,我们需要遍历D盘下所有的文件和文件夹,而不是根目录下的文件夹,这个时候我们需要使用到递归:public
static
void
fileList(File
file)
{
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
System.out.println(f.getPath());
fileList(f);
}
}
}然后在主函数中调用:public
static
void
main(String[]
args)
{
File
file=new
File("d:/");
fileList(file);
}结果是不是能令你满意呢?显然,输出的都是全路径,我们可以对我们的递归函数做如下改进:
public
static
void
fileList(File
file,int
node)
{
node++;
File[]
files
=
file.listFiles();
if
(files
!=
null)
{
for
(File
f
:
files)
{
for(int
i=0;inode;i++){
if(i==node-1){
System.out.print("├");
}
else{
System.out.print("
");
}
}
System.out.println(f.getName());
fileList(f,node);
}
}
}然后再次在主函数中调用:public
static
void
main(String[]
args)
{
File
file=new
File("d:/");
fileList(file,0);
}得到的结果是一个类似树状的结构,如果你对此还不满意,可以尝试给JTree上添加节点,可以做到和资源管理器中一样的结构。
java怎么获取一个目录下的所有文件名
获取一个目录下的所有文件和目录方法:
import java.io.File;
public class FileTest {
public static void main(String[] args) {
/**
* 将目标目录封装成 File 对象。
*/
File dir = new File("/Users/zym/Desktop/Mac应用程序");
/**
* 获取目录下的所有文件和文件夹
*/
String[] names = dir.list();
for (String name : names) {
System.out.println(name);
}
}
}
通过文件过滤器获取某个目录下的文件,例如所有的 .txt、.doc文件。
过滤器:
import java.io.File;
import java.io.FilenameFilter;
public class FilterByDoc implements FilenameFilter {
@Override
public boolean accept(File dir, String name) {
return name.endsWith(".doc");
}
}
获取某个目录下的按照过滤器规则的所有文件:
import java.io.File;
public class FileTest {
public static void main(String[] args) {
/**
* 将目标目录封装成 File 对象。
*/
File dir = new File("/Users/zym/Desktop/Mac应用程序");
/**
* 通过过滤器获取目录下的所有的 .doc 文件
*/
String[] names = dir.list(new FilterByDoc());
for (String name : names) {
System.out.println(name);
}
}
}
希望能对您有所帮助!
关于java目录中所有文件和使用java代码列出一个目录下所有的文件的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-26,除非注明,否则均为
原创文章,转载请注明出处。