extensionfilefilter.java

来自「Java调用Windows API,支持Office」· Java 代码 · 共 73 行

JAVA
73
字号
package org.jawin.browser.util;

import java.io.File;
import javax.swing.filechooser.FileFilter;
import java.util.HashMap;

/**
 * Filters files using their extensions
 *
 * <p>Title: Jawin Code Generation GUI</p>
 * <p>Description: GUI for exploring type libraries and generating Java code</p>
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: Open Source Incentive</p>
 *
 * @author Josh Passenger
 * @version 1.0
 */

public class ExtensionFileFilter extends FileFilter
{
	private String description = null;
	private HashMap extensions = new HashMap();

	public ExtensionFileFilter(String newDescription)
	{
		description = newDescription;
	}

	public void addExtension(String newExtension)
	{
		extensions.put(newExtension, newExtension);
	}

	public String getDescription()
	{
		return description;
	}

	public boolean accept(File file)
	{
		if (file.isDirectory())
		{
			return true;
		}

		if (extensions.containsKey(getExtension(file)))
		{
			return true;
		}
		else
		{
			return false;
		}
	}

	private String getExtension(File file)
	{
		String fileName = file.getName();
		return getExtension(fileName);
	}

	private String getExtension(String fileName)
	{
		int lastDot = fileName.lastIndexOf('.');

		if (lastDot < 0)
		{
			return "";
		}

		return fileName.substring(lastDot).toLowerCase();
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?