建立一个线程,该线程用来搜索c盘WINDOWS文件夹下所有以“.txt”结尾的文件
(要求:用java实现),最好有注释
(要求:用java实现),最好有注释
解决方案 »
- 如何在程序外部使用内部类
- ant怎么去的basedir的上一级目录?
- 请帮忙看一下哪里出错了?关于invoke()
- 用java怎么合并两个word文档?找了几天了,有哪位高人帮帮忙!
- 怎样控制日期的显示格式?
- 我的tomcat服务嚣不能关闭了(用shutdown命令)提示说duplicate name in mainfest: classes-paht!!
- 请教一个字符串解析问题
- 求教一个“Java程序的异常修改方案”.
- java反射
- SOS!SOS!SOS!我的页面有VRML场景,同时有javaAPPLET,怎样由场景向APPLET发送消息或交互
- 怎么实现两个list表的复制
- List调用产生栈溢出?这个程序弄不懂。。。。
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
import java.util.List;/**
* 获取目录下txt文件名
* @author shangzc
*
*/
public class UpLoadFile implements FilenameFilter{
private String prefix = "", suffix = "";
public UpLoadFile(String filterstr) {
filterstr = filterstr.toLowerCase();
int i = filterstr.indexOf('*');
int j = filterstr.indexOf('.');
if (i > 0) {
prefix = filterstr.substring(0, i);
}
if (j > 0) {
suffix = filterstr.substring(j + 1);
}
}
public boolean accept(File dir, String name) {
// TODO Auto-generated method stub
boolean yes = true;
try {
name = name.toLowerCase();
yes = (name.startsWith(prefix)) & (name.endsWith(suffix));
} catch (NullPointerException e) {
}
return yes;
}
/**
* 得到目下文件的所有的txt
* @param file
* @return
*/
public static List getPhotoName(File file) {
List fileList = new ArrayList();
FilenameFilter filter = new UpLoadFile("*.txt");
File curdir = new File(file.getAbsolutePath(), "");
String[] str = curdir.list(filter);
return fileList;
}
/**程序的入口*/
public static void main(String[] args) {
}
}
private String regex = "";//such as ".+\\.txt$|"
public FileFilter() {
}
public FileFilter(String[] regex) {
for(String reg : regex) {
this.regex = ".+\\." + reg + "$|" + this.regex;
}
}
@Override
public boolean accept(File pathname) {
// TODO Auto-generated method stub
String tmp=pathname.getName().toLowerCase();
if(this.regex.length()>0)
return (tmp.matches(regex));
return true;
}}String[] fileExt = {"txt","scc","avi","mp3"};//列取所有txt,scc,avi,mp3的文件
FileFilter ft = new FileFilter(fileExt);//arg2 is date scope
File file = new File("c:\\");
file.listFiles(filter);
import java.util.ArrayList;
import java.util.List;public class Test {
List<String> list=new ArrayList<String>();
public List<String> searchText(String folderPath) {
//文件夹路径
File path = new File(folderPath);
String orgsuffix = ".txt";
if (path.exists()) {
//获取目录下的所有文件夹及目录
File[] filePath = path.listFiles();
for (File file : filePath) {
//若是文件
if (file.isFile()) {
String fileName=file.getName();
String suffix = fileName.substring(fileName.length() - 4);
if (orgsuffix.equals(suffix)) {
list.add(fileName);
}
}
//若是文件夹
else if(file.isDirectory()){
//递归
searchText(file.getPath());
}
}
} else {
System.out.println("搜索目录不正确");
}
return list;
}
}