java 获取指定目录下的所有文件
2014-05-10 00:00
483 查看
摘要: java 获取指定目录下的所有文件
java ,如何获取指定目录下的所有文件呢?
看代码:
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
/***
* 获取指定目录下的所有的文件(不包括文件夹),采用了递归
*
* @param obj
* @return
*/
public static ArrayList<File> getListFiles(Object obj) {
File directory = null;
if (obj instanceof File) {
directory = (File) obj;
} else {
directory = new File(obj.toString());
}
ArrayList<File> files = new ArrayList<File>();
if (directory.isFile()) {
files.add(directory);
return files;
} else if (directory.isDirectory()) {
File[] fileArr = directory.listFiles();
for (int i = 0; i < fileArr.length; i++) {
File fileOne = fileArr[i];
files.addAll(getListFiles(fileOne));
}
}
return files;
}
说明:上述方法采用了递归,所以包含子目录下的子目录中的文件。。。
测试代码:
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
@Test
public void test_getListFiles(){
ArrayList<File> files=FileUtils.getListFiles("d:\\Temp\\a\\a");
SystemUtil.printFilesFilePath(files);
}
输出结果:
d:\Temp\a\a\divided\merged\oracle学习笔记.doc
d:\Temp\a\a\divided\oracle学习笔记.doc_1_3kldv
d:\Temp\a\a\divided\oracle学习笔记.doc_2_3kldv
d:\Temp\a\a\divided\oracle学习笔记.doc_3_3kldv
d:\Temp\a\a\oracle学习笔记.doc
过滤前缀(只是获取指定目录下的文件,没有递归):
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
/***
*
* @param path
* @param prefixStr
* :前缀名
* @return
*/
public static File[] getFilesByPathPrefix(File path, final String prefixStr) {
File[] fileArr = path.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// System.out.println("prefixStr:"+prefixStr);
if ((ValueWidget.isNullOrEmpty(prefixStr) || (dir.isDirectory() && name
.startsWith(prefixStr)))) {
return true;
} else {
return false;
}
}
});
return fileArr;
}
/***
* 前缀名
*
* @param pathStr
* @param prefixStr
* @return
*/
public static File[] getFilesByPathAndPrefix(String pathStr,
final String prefixStr) {
File path = new File(pathStr);
return getFilesByPathPrefix(path, prefixStr);
}
过滤后缀名(只是获取指定目录下的文件,没有递归):
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
/***
*
* @param path
* @param prefixStr
* :后缀名
* @return
*/
public static File[] getFilesByPathAndSuffix(File path,
final String sufixStr) {
File[] fileArr = path.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// System.out.println("prefixStr:"+prefixStr);
if ((ValueWidget.isNullOrEmpty(sufixStr) || (dir.isDirectory() && name
.endsWith(sufixStr)))) {
return true;
} else {
return false;
}
}
});
return fileArr;
}
/***
* 后缀名
*
* @param pathStr
* @param sufixStr
* @return
*/
public static File[] getFilesByPathAndSuffix(String pathStr,
final String sufixStr) {
File path = new File(pathStr);
return getFilesByPathAndSuffix(path, sufixStr);
}
java ,如何获取指定目录下的所有文件呢?
看代码:
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
/***
* 获取指定目录下的所有的文件(不包括文件夹),采用了递归
*
* @param obj
* @return
*/
public static ArrayList<File> getListFiles(Object obj) {
File directory = null;
if (obj instanceof File) {
directory = (File) obj;
} else {
directory = new File(obj.toString());
}
ArrayList<File> files = new ArrayList<File>();
if (directory.isFile()) {
files.add(directory);
return files;
} else if (directory.isDirectory()) {
File[] fileArr = directory.listFiles();
for (int i = 0; i < fileArr.length; i++) {
File fileOne = fileArr[i];
files.addAll(getListFiles(fileOne));
}
}
return files;
}
说明:上述方法采用了递归,所以包含子目录下的子目录中的文件。。。
测试代码:
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
@Test
public void test_getListFiles(){
ArrayList<File> files=FileUtils.getListFiles("d:\\Temp\\a\\a");
SystemUtil.printFilesFilePath(files);
}
输出结果:
d:\Temp\a\a\divided\merged\oracle学习笔记.doc
d:\Temp\a\a\divided\oracle学习笔记.doc_1_3kldv
d:\Temp\a\a\divided\oracle学习笔记.doc_2_3kldv
d:\Temp\a\a\divided\oracle学习笔记.doc_3_3kldv
d:\Temp\a\a\oracle学习笔记.doc
过滤前缀(只是获取指定目录下的文件,没有递归):
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
/***
*
* @param path
* @param prefixStr
* :前缀名
* @return
*/
public static File[] getFilesByPathPrefix(File path, final String prefixStr) {
File[] fileArr = path.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// System.out.println("prefixStr:"+prefixStr);
if ((ValueWidget.isNullOrEmpty(prefixStr) || (dir.isDirectory() && name
.startsWith(prefixStr)))) {
return true;
} else {
return false;
}
}
});
return fileArr;
}
/***
* 前缀名
*
* @param pathStr
* @param prefixStr
* @return
*/
public static File[] getFilesByPathAndPrefix(String pathStr,
final String prefixStr) {
File path = new File(pathStr);
return getFilesByPathPrefix(path, prefixStr);
}
过滤后缀名(只是获取指定目录下的文件,没有递归):
Java代码
![](http://static.oschina.net/uploads/img/201405/10093249_6CQ1.png)
/***
*
* @param path
* @param prefixStr
* :后缀名
* @return
*/
public static File[] getFilesByPathAndSuffix(File path,
final String sufixStr) {
File[] fileArr = path.listFiles(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// System.out.println("prefixStr:"+prefixStr);
if ((ValueWidget.isNullOrEmpty(sufixStr) || (dir.isDirectory() && name
.endsWith(sufixStr)))) {
return true;
} else {
return false;
}
}
});
return fileArr;
}
/***
* 后缀名
*
* @param pathStr
* @param sufixStr
* @return
*/
public static File[] getFilesByPathAndSuffix(String pathStr,
final String sufixStr) {
File path = new File(pathStr);
return getFilesByPathAndSuffix(path, sufixStr);
}
相关文章推荐
- java获取指定目录下所有文件
- Java--获取指定目录下的所有文件
- java语言基础(80)——递归获取指定目录下所有的文件
- 对指定的目录进行递归获取递归过程所有的java文件的路径。
- java 获取指定目录下所有文件的名称
- java获取指定目录下所有文件
- Java利用递归思想遍历指定目录,获取所有的文件
- java获取指定目录下所有指定扩展名的文件
- 获取指定目录及其子目录的所有文件(JAVA)
- android 获取指定路径下所有文件,将文件从一个目录copy到另一个目录,执行linux命令
- java 用递归获取一个目录下的所有文件路径的小例子
- Asp.net 获取指定目录下的后缀名为".doc" 的所有文件名和文件路径
- 遍历文件Java中遍历出指定目录中的所有文件
- Java 获取目录所有文件,删除文件。
- 【Android】【小知识】如何获取指定目录下的所有文件的集合
- 获取目录下指定类型的所有文件
- C# 获取指定目录下所有文件信息、移动目录、拷贝目录
- java 递归获取一个目录下的所有文件路径
- Java-读取某个目录下所有文件、文件夹和3种从文件路径中获取文件名的方法
- JAVA之IO技术-获取指定目录下的文件夹和文件的File对象或是字符串名称。