📄 filefinder.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 + -