[/size][size=large]
以下代码实现了在某个文件目录下快速查找某一个文件:
它的适用情况: 一个目录底下有多个文件(不含文件夹),且某种格式的文件只有一个
一般的方法是遍历整个文件夹,直到找到某个特定的文件,我采用的思路大体也一样,只不过稍微做了一些修改,采用双向遍历,这样速度比原来快了不少,要是有更好的方式,希望大牛们多指点。
问题原型: 在某一个目录下存在很多XML格式的文件和一个XDB格式的文件,每发送完一个XML文件就要发送相应的一个同名的XDB文件,所有XML的文件结构都一样。这个xdb文件就相当于这个XML的描述文件。
好了 ,废话不说了, 下面请看代码:
// 获得parentDir目录下所有的文件
File[] strList = parentDir.listFiles();
// 初始化FTP服务器并打开链接
try {
// 记录xdb的文件路径
File xdbFile = null;
// 遍历文件目录并开始向FTP发送文件
for (int i = 0; i < strList.length; i++) {
String fileName = strList[i].getName();
String newFileName = null;
// 判断当前文件是否是XML格式的数据文件
if(fileName.toLowerCase().endsWith(".xml")){
向FTP服务器发送XML文件
// 获得XML文件的名称,将xdb文件设置成与XML同名的文件
String[] xmlName = fileName.split("\\.");
newFileName = xmlName[0] + ".xdb";
}else if (fileName.toLowerCase().endsWith(".xdb")){
xdbFile = strList[i];
continue;
}
/**
* 如果当前文件不是xdb格式的数据文件,则遍历文件目录中剩余的文件,找到xdb格式的数据文件
* 在遍历目录中剩余的文件时采用双向遍历,提高查找文件的速度
*/
if (null == xdbFile) {
int n = i;
for (int j = strList.length-1-n ; j > n ; j--) {
if ( strList[j].getName().toLowerCase().endsWith(".xdb")){
xdbFile = strList[j];
break;
} else if (strList[n+1].getName().toLowerCase().endsWith(".xdb")) {
xdbFile = strList[n+1];
break;
} else {
n++;
}
}
}
// 向FTP服务器发送与XML同名的XDB格式文件
}
} finally {
//关闭FTP服务器的链接
}
分享到:
相关推荐
C#快速文件搜索C#快速文件搜索C#快速文件搜索C#快速文件搜索
易语言在多个txt文件里面查找某文本,快速查询多个txt里面是否含有某个文本。@249371240。
Android快速查找手机文件内某种类型或者某几种类型文件,而且可以调用系统自带工具打开文件,不存在媒体库文件不全的问题。
immortality按:请用ctrl+f在本页中查找某一部分的内容或某一命令的用法。 -------------------------------------------------------------------------------- Linux必学的60个命令(1)-安装与登陆命令 login 1...
亲爱的朋友,您正在使用的是“重复文件查找王”,一款为您以最快的速度找出指定目录中内容重复的文件列表,便于您据此清理文件,减少重复文件对磁盘空间的占用。本工具的主要功能: 提供7种匹配方法,我们称之为...
全盘删除每个文件夹下的指定文件.cmd 全盘搜索指定文件.cmd 全盘查找QQ.exe并执行.cmd 创建url格式的快捷方式.cmd 删除N天之前的文件.cmd 删除当前目录下及其子文件夹中所有的空文件夹.cmd 删除所有以数字命名的...
通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件、所有的头文件、词汇索引、文件包含关系、宏定义、数据结构和函数定义、函数调用关系、分文件夹的定义目录、构造层次、诊断性输出等...
通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件、所有的头文件、所有的代码文件、词汇索引、索引结果、文件包含关系、宏定义、数据结构和函数定义、可扩展的函数定义、函数调用关系...
对每一个打开的源代码工程,通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的代码文件、词汇索引、宏定义、数据结构和函数定义、函数调用关系、分文件夹的定义目录、构造层次、诊断性输出等...
对每一个打开的源代码工程,通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的代码文件、词汇索引、宏定义、数据结构和函数定义、函数调用关系、分文件夹的定义目录、构造层次、诊断性输出等...
对每一个源代码工程,通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件、所有的头文件、词汇索引、文件包含关系、宏定义、数据结构和函数定义、分文件夹的定义目录、构造层次、函数...
通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件、所有的头文件、词汇索引、文件包含关系、宏定义、数据结构和函数定义、函数调用关系、分文件夹的定义目录、构造层次、诊断性输出等...
WinCatalog2014是一款媒体分类管理索引工具,它可以对指定的磁盘分区/文件夹进行快速扫描,将扫描的文件信息索引保存到自身的数据库中,在你想要查找某一类型的文件时,可以进行快速查找你要搜索的文件,从而能够...
14. 快速查找10 15. 修改默认文件保存路径10 16. 指定打开的文件夹10 17. 在多个EXCEL工作簿间快速切换10 18. 快速获取帮助11 19. 创建帮助文件的快捷方式11 20. 双击单元格某边移动选定单元格11 21. 双击单元格某边...
通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件、所有的头文件、词汇索引、文件包含关系、宏定义、数据结构和函数定义、函数调用关系、分文件夹的定义目录、构造层次、诊断性输出等...
14、快速查找 4 15、修改默认文件保存路径 5 16、指定打开的文件夹 5 17、在多个Excel工作簿间快速切换 5 18、快速获取帮助 5 19、创建帮助文件的快捷方式 6 20、双击单元格某边移动选定单元格 6 21、双击...
通过建立一个包含丰富交叉引用关系的数据库,显示其所含的各种信息:所有的源文件、所有的头文件、词汇索引、文件包含关系、宏定义、数据结构和函数定义、函数调用关系、分文件夹的定义目录、构造层次、诊断性输出等...
0139 使用FileExists函数判断指定文件是否存在 90 0140 使用FileGetAttr函数返回文件的属性 90 0141 使用FileGetDate函数返回文件的修改日期 90 0142 使用FileWrite函数将缓冲区中的内容写入文件 91 4.10 ...
9、当前工作表中行记录按某一列指定的类别拆分成组工作簿:类似Excel自带的高级筛选功能,可以把一个年级各班都在同一个工作表上的学生名单(成绩单)拆分成每个班的名单(成绩单),发给班主任。 (八)同一工作簿...