⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 directorymetadataenumerator.java

📁 《j2ee开发全程实录》随书源码
💻 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 + -