package com.jinbu.sourceFile;
import java.io.File;
import java.util.ArrayList;
public class TxtSourceFile{
private String SUFFIX = ".txt";// 文件后缀名称
private ArrayList<String> filelist;
private int fileIndex = 0;
private boolean hasDir;//是否允许遍历子目录
public TxtSourceFile(String filePath,boolean hasDir){
this.hasDir = hasDir;
filelist = new ArrayList<String>();
this.refreshFileList(filePath);
}
/**
* 得到文件列表
* @param filePath
*/
private void refreshFileList(String filePath) {
File dir = new File(filePath);
File[] files = dir.listFiles();
if (files == null && dir != null){
//不是目录
filelist.add(dir.getAbsolutePath());
}else{
//是目录
for (int i = 0; i < files.length; i++) {
//判断是否是子目录
if (files[i].isDirectory() && hasDir) {
refreshFileList(files[i].getAbsolutePath());
} else {
String strFileName = files[i].getAbsolutePath().toLowerCase();
if(strFileName.endsWith(SUFFIX)){
filelist.add(strFileName);
}
}
}
}
}
/**
* 是否有下一个文件
* @return File
*/
public boolean hasNext(){
if(fileIndex >= filelist.size() || filelist.get(fileIndex) == null){
return false;
}else{
return true;
}
}
/**
* 得到下一个文件
* @return File
*/
public File next(){
File file = new File((String) filelist.get(fileIndex));
fileIndex = fileIndex + 1;
return file;
}
/**
* 文件数量
* @return
*/
public int fileCount(){
int fileCount = 0;
fileCount = filelist.size();
return fileCount;
}
/**
* 测试
* @param args
*/
public static void main(String[] args) {
TxtSourceFile f = new TxtSourceFile("c:\\test",true);
for (int i = 0; i <f.filelist.size(); i++) {
System.out.println(f.filelist.get(i));
}
}
}
分享到:
相关推荐
遍历指定目录 修改文件名称使其按文件创建时间排序。
环境 VS 2013,c++ 32位控制台程序,遍历目录下的全文件,并返回一个文件名vector,然后打印文件名和其后缀
1.遍历当前及其子目录中的所有文件,文件放到http/down的目录下无论几级均可。 2.下载的代码fileDownProcess.php文件中除了echo $file_data;其他不能有echo。这点很重要,否则下载下来的文件无法使用。 3.不支持中文...
java代码,遍历文件目录下所有的文件并列出其名称。新手代码,如有冒犯,请多指教
在window下,使用c++遍历文件夹及其子文件夹所有文件 并输出文件路径和文件内容。网上的资源大多都只是遍历文件夹,但是我需要打印出文件内容,所以自己弄了两天,这就是我的成果(*^__^*) ……
内容索引:VB源码,文件操作,目录遍历 VB遍历目录及文件,一个基本的单元,用到一个目录遍历方法类,在程序窗口中输入需要遍历的文件夹名称,注意要写正确,如果只是为了测试,那么最好输入一个目录下文件较少的目录...
一段非常实用的遍历文件夹获取文件名的代码,获取后的数据存在临时表中。
在 VC++ 中,我们可以使用 _findfirst 和 _findnext 函数来遍历目录树,这两个函数可以用来查找当前目录下的文件和子目录。_findfirst 函数用于查找当前目录下的第一个文件或子目录,而 _findnext 函数用于继续查找...
遍历网站某个目录下的所有文件,本地测试没有问题,一下F盘所有都可以看到,不过文件太多了,打开有点慢哦,哈哈!
主要介绍了php遍历目录下文件并按修改时间排序操作,结合实例形式分析了php递归遍历目录文件与文件属性相关操作技巧,需要的朋友可以参考下
使用arcpy 遍历某文件下(包括子文件夹)所有面要素类,然后将这些要素合并。
递归遍历一个目录,输出目录中的所有文件名路径,输出时用“/”符号代替“\”符号
利用C#遍历文件夹,将文件夹中的所有文件写入Excel,写入的文件名称有超链接。Excel文件的名字叫"文件清单.xls",第一行内容不能修改
可以遍历指定目录下的文件名称,方便整理文件清单
os.walk生成器 os.walk(PATH), PATH是个文件夹路径,当然可以用.或者../这样啦. 返回的是个三元元组为元素的列表, 每个元素...以下例子使用了两套循环, 遍历后得到所有文件名的list后再循环所有文件: result = [os.pat
实现功能: 指定一个文件夹名称,设计一个算法,可以遍历该文件夹,搜索出该文件夹中所有的文件夹及包含的BMP文件。同时,在遍历的过程中,将文件(或者文件夹)的路径名称按照原先的逻辑结结构插入到一个树中。
windows下批量拷贝目录下所有文件夹中的指定文件,主要是前段时间要从一个server上面拷贝一批数据,但是又不是linux,所以实验了一下windows下的批量拷贝;测序的项目,每一个样本的数据都存放在各自的名称文件夹下...
实现不用递归来访问多级目录的所有文件,并用一个输入的文件名称来判断是否包含输入的文件名称并打印文件夹名称和绝对路径。代码的主要功能如下: 使用一个Scanner对象,从控制台读取用户输入的文件名称,保存在一...
文件可以获取指定目录下的所有文件的绝对路径及文件的名称,同样定义一个静态全局变量也可以统计指定目录下的总文件数目
2. 文件统计表包含【层级】【文件名称】【文件路径】【属性】【大小】【创建时间】【上次修改】等信息; 应用场景: 1. 于办公中需要经常管理文档的小伙伴很友好,不用每次去打开层层嵌套的目录去寻找文件。 特别...