📄 directorymetadataenumerator.java
字号:
package com.cownew.PIS.framework.common.metaDataMgr;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* 目录元数据枚举器,此枚举器将会查找特定目录下所有所有的元数据文件
* @author 杨中科
*
*/
public class DirectoryMetaDataEnumerator extends AbstractMetaDataEnumerator
{
private File dir;
private String suffix;
/**
*
* @param dir 待查找的文件夹
* @param suffix
* 文件后缀,比如.emf
*/
public DirectoryMetaDataEnumerator(File dir, String suffix)
{
super();
this.dir = dir;
this.suffix = suffix;
}
public void fillList()
{
list = new ArrayList();
list.addAll(getChidren(dir, suffix));
}
private List getChidren(File f, String suffix)
{
List list = new ArrayList();
File[] listFiles = f.listFiles();
if (listFiles == null)
{
return list;
}
for (int i = 0, n = listFiles.length; i < n; i++)
{
File file = listFiles[i];
if (file.isFile())
{
if (file.getPath().endsWith(suffix))
{
String path = file.getPath().substring(
dir.toString().length());
//元数据路径的样式是\com\PIS\Foo.emf,所以要对路径进行格式化
path = path.replace(File.separatorChar, '/');
if (!path.startsWith("/"))
{
path = "/" + path;
}
list.add(path);
}
} else
{
list.addAll(getChidren(file, suffix));
}
}
return list;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -