`
piperzero
  • 浏览: 3471420 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

列出目录下所有文件包括子目录的文件路径-采用递归方式

 
阅读更多

/**
* 列出目录下所有文件包括子目录的文件路径
* @param dirName
* 文件夹的文件路径
*/
public static void imageScan(String dirName
) {

// 如果dir不以文件分隔符结尾,自动添加文件分隔符。
if (!dirName.endsWith(File.separator)) {
dirName = dirName + File.separator;
}
File dirFile = new File(dirName);
// 如果dir对应的文件不存在,或者不是一个文件夹,则退出
if (!dirFile.exists() || (!dirFile.isDirectory())) {
System.out.println("List失败!找不到目录:" + dirName);
return;
}
// 列出源文件夹下所有文件(包括子目录)
File[] files = dirFile.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].canRead()) // 能读
{
// 开始
if (files[i].isFile()) {

//System.out.println(files[i].getAbsolutePath() + " 是文件!");
String filename = files[i].getName();
String fullpath = files[i].getPath();
String code=getFileName(filename);

String format=getExitName(files[i].getName());


long filesize=files[i].length();
String dirname=files[i].getParent();
System.out.println("path:"+files[i].getAbsolutePath());
System.out.println("format:"+format);
//System.out.println("filename:"+code);



} else if (files[i].isDirectory()) {
ImageScan.imageScan(files[i].getAbsolutePath());
}
// 结束

} else // 不能读
{

}

// /////////////////////////

}
}

// /////////////////
public static String getpostfix(String fname) {
String postfix = null;
if (fname == null)
return "";
if (fname.indexOf(".") != -1) {
postfix = fname.substring(fname.indexOf("."));
} else {
return "非法文件名";
}
return postfix;
}

public static String getFileName(String fname) {
String postfix = null;
if (fname == null)
return "";
if (fname.indexOf(".") != -1) {
postfix = fname.substring(0,fname.indexOf("."));
} else {
return "非法文件名";
}
return postfix;
}

public static String getExitName(String fname) {
String postfix = null;
if (fname == null)
return "";
if (fname.indexOf(".") != -1) {
postfix = fname.substring(fname.indexOf("."));
} else {
return "非法文件名";
}
return postfix;
}

分享到:
评论

相关推荐

    ls-files:递归查找指定路径下全部文件 。Recursively find all files under the specified path

    ls文件递归列出目录及其子目录中的所有文件。 它不会列出目录本身。 因为它使用fs.readdir,它在OS X和Linux的后台调用 ,所以目录内文件的顺序。安装npm install ls-files用法// some/path// -----------0.txt// --...

    VB6.0通用选择路径并遍历文件夹及子文件夹.txt

    VB6.0通用遍历所选文件夹...新建一个窗体,添加一个Command1按钮,添加一个listbox控件,名称为list1,打开一个Excel空白文件(如不需要请注释相关代码)。把本文件代码复制粘贴进去,单击按钮即可弹窗提示选择文件夹。

    xshell常用命令.docx

    ls -la 给出当前目录下所有文件的一个长列表,包括以句点开头的“隐藏”文件 ls a* 列出当前目录下以字母a开头的所有文件 ls -l*.doc 给出当前目录下以.doc结尾的所有文件 2.命令cp——复制文件 cp afile afile.bak ...

    Python简单的文件搜索工具

    使用场景及目标: 用户可以输入要搜索的目录路径和要查找的关键字,工具将递归搜索指定目录及其子目录中的所有文件,然后列出包含关键字的文件列表。目标是提供一个快速、简便的方式来查找文件,以满足在项目管理、...

    使用PHP遍历文件夹与子目录的函数代码

    我们要使用的函数有 Scandir,它的作用是列出指定路径中的文件和目录,就像 Dir 一样。 &gt; 与更强力的 Glob() 函数,作用是以数组的形式返回与指定模式相匹配的文件名或目录。 &gt; 友情提醒,千万别像小邪那样在电脑...

    DIRR(查找文件递归过滤名称、日期或字节):列出递归过滤名称日期和/或大小的文件。 输出可以设置为名称日期和/或大小。-matlab开发

    递归列出当前目录和子目录中的所有文件。 [列表] = 目录(路径) 返回与 LIST = DIR(PATH) 返回的具有相同字段名的结构 LIST PATH 可以包含通配符 * 和 ? 在最后一个 \ 或 / (文件名过滤器)之后 PATH 中每个目录...

    Linux常用命令大全.pdf

    ls命令:用于列出目录中的文件和子目录。可以通过选项来指定显示格式和内容,例如ls -l可以显示详细信息。 cp命令:用于复制文件或目录。可以指定源文件和目标文件的位置,以及是否递归复制目录。 mv命令:用于移动...

    rar压缩软件.rar

    2) 把当前目录和子目录的所有文件压缩为 362000 字节大小、固实的、 自解压分卷压缩文件并对没个卷添加恢复记录: rar a -r -v362 -s -sfx -rr save 因为尾指定文件名,假设为所有文件 (*)。 3) 作为一个特别...

    WinRAR_4.0.exe

    和 'v' 命令一样列出文件,但不包括 文件路径。也就是只显示文件名。当使用't'变量时可选技术信息(主操作 系统,固实标志和老版本标记)被显示。变量 'b' 强制 RAR 只输出单纯 的文件名,而没有其他任何的附加信息...

    Recursive Directory Searching for Multiple File Specs:使用可选的递归性搜索多个文件规范的目录-matlab开发

    DIR2('directory_name','-r') 列出目录中的文件,它是子目录。 DIR2('directory_name',filter1,filter2,...) 应用过滤器 FILTER1 和 FILTER2 等进行目录搜索。 这些过滤器被视为一个或。 因此,一个文件必须至少...

    入门学习Linux常用必会60个命令实例详解doc/txt

    在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分访问的。要访问CD-ROM上的文件,需要将CD-ROM设备挂装在文件树中的某个挂装点。如果发行版安装了自动挂装包,那么这个步骤可自动进行。在Linux...

    递归目录列表 - 增强的 RDIR:文件和目录列表,包括递归和其他特殊功能-matlab开发

    - 作为初始 RDIR 函数,您可以使用双通配符 (**) 列出给定路径中所有子目录中的文件: rdir([matlabroot, '\**\*tmpl*.m']) - 并且还使用作为第二个参数输入的过滤器来优化您的搜索: rdir([matlabroot, '\**\*...

    CentOS简易Linux命令行模拟器-C++

    简易Linux命令行模拟器,集成了常用文件和目录操作功能: 1. mypwd:pwd,获取并显示当前工作目录的路径。 2. mylist:ls,接收一个...递归遍历指定目录及其子目录,查找与给定文件名匹配的文件,并打印出其绝对路径。

    Serv-U最新注册版

    + 添加了 RMDA 目录作为 RMD 的父集,使得客户端可以用一个命令删除目录及其所有文件和子目录。一则错误响应指出客户端应刷新其目录列表,以确定哪些文件和子目录被删除,哪些未被删除。 + 更改了 Windows 链接支持...

    Serv-U FTP Server v7.0.0.2

    + 添加了 RMDA 目录作为 RMD 的父集,使得客户端可以用一个命令删除目录及其所有文件和子目录。一则错误响应指出客户端应刷新其目录列表,以确定哪些文件和子目录被删除,哪些未被删除。 + 更改了 Windows 链接支持...

    Ubuntu入门(一) Shell操作 VIM文本编辑 Linux文件系统

    ls:目录信息查看命令,主要用于显示指定目录下的内容,列出指定目录下包含的所有的文件和子目录。ls [选项] [路径]。 常用参数 功能 -a 显示所有的文件以及子目录,包括以“.”开头的隐藏文件 -l 显示文件...

    2009 达内Unix学习笔记

    ls /etc/ 显示某目录下的所有文件和目录,如etc目录下的。 ls -l (list)列表显示文件(默认按文件名排序), 显示文件的权限、硬链接数(即包含文件数,普通文件是1,目录1+)、用户、组名、大小、修改日期、文件名。 ...

    LINUX 20招

    一次处理一整个目录  Linux/UNIX的很多常用命令如rm,cp等都有一个参数“-r”,是递归的意思,命令里加了参数“-r”就可以对目标目录及其下所有子目录进行操作,如: rm -rf /test(f是“force”意为强行),该...

    Ubuntu权威指南(2/2)

    5.2.4 递归地列出文件 112 5.3 显示文件内容 113 5.3.1 使用cat命令显示文件 113 5.3.2 使用more命令分页显示 文件 113 5.3.3 使用less命令分页显示 文件 114 5.3.4 使用head命令显示文件 前几行内容 115 5.3.5 使用...

    Ubuntu权威指南(1/2)

    5.2.4 递归地列出文件 112 5.3 显示文件内容 113 5.3.1 使用cat命令显示文件 113 5.3.2 使用more命令分页显示 文件 113 5.3.3 使用less命令分页显示 文件 114 5.3.4 使用head命令显示文件 前几行内容 115 5.3.5 使用...

Global site tag (gtag.js) - Google Analytics