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

📄 extendedfilefilter.java

📁 java 文件下载器。可自定义
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   ExtendedFileFilter.java

package org.pf.file;

import java.io.File;
import java.io.FilenameFilter;
import java.util.*;
import org.pf.text.StringPattern;

public class ExtendedFileFilter
	implements FilenameFilter
{

	protected static final int DIR_CHECK_NAME = 1;
	protected static final int DIR_INCLUDE = 2;
	protected static final int DIR_EXCLUDE = 3;
	private List stringPatterns;
	private int dirHandling;

	protected List getStringPatterns()
	{
		return stringPatterns;
	}

	protected void setStringPatterns(List newValue)
	{
		stringPatterns = newValue;
	}

	protected int getDirHandling()
	{
		return dirHandling;
	}

	protected void setDirHandling(int newValue)
	{
		dirHandling = newValue;
	}

	public ExtendedFileFilter()
	{
		stringPatterns = new Vector();
		dirHandling = 1;
	}

	public void addPattern(String pattern)
	{
		StringPattern stringPattern = null;
		stringPattern = new StringPattern(pattern, false);
		getStringPatterns().add(stringPattern);
	}

	public void addPattern(String pattern, char digitWildcard)
	{
		StringPattern stringPattern = null;
		stringPattern = new StringPattern(pattern, false, digitWildcard);
		getStringPatterns().add(stringPattern);
	}

	public void addPattern(String pattern, boolean ignoreCase)
	{
		StringPattern stringPattern = null;
		stringPattern = new StringPattern(pattern, ignoreCase);
		getStringPatterns().add(stringPattern);
	}

	public void addPattern(String pattern, boolean ignoreCase, char digitWildcard)
	{
		StringPattern stringPattern = null;
		stringPattern = new StringPattern(pattern, ignoreCase, digitWildcard);
		getStringPatterns().add(stringPattern);
	}

	public void checkNameOfDirectories()
	{
		setDirHandling(1);
	}

	public void alwaysIncludeDirectories()
	{
		setDirHandling(2);
	}

	public void alwaysExcludeDirectories()
	{
		setDirHandling(3);
	}

	public boolean accept(File dir, String name)
	{
		File fileOrDir = null;
		fileOrDir = new File(dir, name);
		if (fileOrDir.isDirectory())
		{
			if (mustIncludeDirectories())
				return true;
			if (mustExcludeDirectories())
				return false;
		}
		return checkAgainstPatterns(name);
	}

	protected boolean checkAgainstPatterns(String name)
	{
		Iterator iterator = null;
		StringPattern pattern = null;
		for (iterator = getStringPatterns().iterator(); iterator.hasNext();)
		{
			pattern = (StringPattern)iterator.next();
			if (pattern.matches(name))
				return true;
		}

		return false;
	}

	public boolean mustIncludeDirectories()
	{
		return getDirHandling() == 2;
	}

	public boolean mustExcludeDirectories()
	{
		return getDirHandling() == 3;
	}
}

⌨️ 快捷键说明

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