public class Test {
class DirFilter implements FilenameFilter {
public String suffix = null;
public String endwith = null;
public boolean accept(File dir, String name) {
return (name.contains(suffix)) && (name.contains(endwith));
}
public void SetSuffix(String suffixStr) {
suffix = suffixStr;
}
public void SetEndWith(String endWtihStr) {
endwith = endWtihStr;
}
}
public class SelfComparator implements Comparator {
public int compare(File o1, File o2) {
return Integer.valueOf(getNum(o1.getName())).compareTo(Integer.valueOf(getNum(o2.getName())));
}
public int getNum(String filename){
int num;
String numStr= filename.substring("ucv_segment_".length(), filename.indexOf(".ts"));
if ("".equals(numStr)){
num=0;
}else{
num=Integer.parseInt(numStr);
}
return num;
}
}
public void excute() throws IOException {
for(int o=1;o<=12;o++){
File dir = new File("/Users/duyunlei/Desktop/2016917/第"+o+"位演讲人");
DirFilter difFilter = new DirFilter();
difFilter.SetSuffix("ucv_");
difFilter.SetEndWith(".ts");
File[] files = dir.listFiles(difFilter);
File writename = new File("/Users/duyunlei/Desktop/2016917/第"+o+"位演讲人/v1.txt"); // 相对路径,如果没有则要建立一个新的txt文件
BufferedWriter out = new BufferedWriter(new FileWriter(writename));
if(!writename.exists()){
writename.createNewFile(); // 创建新文件
}
if (files.length <= 1) {
return;
} else {
List fileList = new ArrayList();
fileList.addAll(Arrays.asList(files));
Collections.sort(fileList, new SelfComparator());
int list_size = fileList.size();
for (int i=0; i
System.out.println("filename is :" + fileList.get(i).getName());
out.write(fileList.get(i).getName()+"|"); //
}
out.flush();
out.close();
}
}
}
public static void main(String[] args) throws IOException {
Test test = new Test();
test.excute();
}
}