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

📄 filefinder.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:   FileFinder.java

package org.pf.file;

import java.io.File;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

// Referenced classes of package org.pf.file:
//			FileHandler, FileLocator, FileWalker

public class FileFinder
	implements FileHandler
{

	private List collectedFiles;

	protected List getCollectedFiles()
	{
		return collectedFiles;
	}

	protected void setCollectedFiles(List newValue)
	{
		collectedFiles = newValue;
	}

	protected FileFinder()
	{
		collectedFiles = null;
		setCollectedFiles(new ArrayList());
	}

	public static File findFileOnClasspath(String filename)
	{
		ClassLoader cl;
		File file;
		cl = null;
		file = null;
		URL url = null;
		cl = org/pf/file/FileFinder.getClassLoader();
		if (cl == null)
			return null;
		try
		{
			URL url = cl.getResource(filename);
			if (url != null)
			{
				file = new File(url.getFile());
				if (!fileExists(file))
					file = null;
			}
		}
		catch (Exception ex) { }
		return file;
	}

	public static File findFile(String filename)
	{
		File aFile = null;
		aFile = new File(filename);
		if (fileExists(aFile))
		{
			return aFile;
		} else
		{
			aFile = findFileOnClasspath(filename);
			return aFile;
		}
	}

	public static File[] findFiles(String dir, String pattern)
	{
		return findFiles(dir, pattern, true);
	}

	public static File[] findFiles(String dir, String pattern, boolean recursive)
	{
		return findFiles(dir, pattern, recursive, '\0');
	}

	public static File[] findFiles(String dir, String pattern, boolean recursive, char digitWildcard)
	{
		Character digitChar = null;
		if (dir == null)
			throw new IllegalArgumentException("FileFinder.findFiles(): dir is null");
		if (pattern == null)
			throw new IllegalArgumentException("FileFinder.findFiles(): pattern is null");
		if (digitWildcard > 0)
			digitChar = new Character(digitWildcard);
		FileFinder finder = new FileFinder();
		return finder.collectFiles(dir, pattern, recursive, digitChar);
	}

	private static boolean fileExists(File file)
	{
		boolean success = false;
		if (file != null)
			try
			{
				FileLocator locator = FileLocator.create(file);
				success = locator.exists();
			}
			catch (Exception ex) { }
		return success;
	}

	public boolean handleFile(File file)
	{
		getCollectedFiles().add(file);
		return true;
	}

	public boolean handleException(Exception ex, File file)
	{
		return false;
	}

	public boolean directoryEnd(File dir)
	{
		return true;
	}

	public boolean directoryStart(File dir, int count)
	{
		return true;
	}

	protected File[] collectFiles(String dir, String pattern, boolean recursive, Character digitWildcard)
	{
		FileWalker fileWalker = new FileWalker(this);
		if (digitWildcard != null)
			fileWalker.setDigitWildcardChar(digitWildcard.charValue());
		fileWalker.walkThrough(dir, pattern, recursive);
		List list = getCollectedFiles();
		return (File[])(File[])list.toArray(new File[list.size()]);
	}
}

⌨️ 快捷键说明

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