📄 fsofilenamefilter.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: FsoFilenameFilter.java
package com.jspsmart.file;
import java.io.File;
import java.io.FilenameFilter;
public class FsoFilenameFilter
implements FilenameFilter
{
protected String originalFilter;
protected String normalizedFilter;
public FsoFilenameFilter(String s)
{
StringBuffer stringbuffer = new StringBuffer();
for(int i = 0; i < s.length(); i++)
if(s.charAt(i) != '*' || stringbuffer.length() <= 0 || stringbuffer.charAt(stringbuffer.length() - 1) != '*')
stringbuffer.append(s.charAt(i));
normalizedFilter = stringbuffer.toString();
originalFilter = s;
}
public String getFilter()
{
return originalFilter;
}
public boolean accept(File file, String s)
{
if(normalizedFilter.length() > 0)
return accept(s, 0, 0);
else
return true;
}
protected boolean accept(String s, int i, int j)
{
for(; j < normalizedFilter.length(); j++)
switch(normalizedFilter.charAt(j))
{
case 63: // '?'
if(i < s.length())
i++;
else
return false;
break;
case 42: // '*'
if(j == normalizedFilter.length() - 1)
return true;
char c = normalizedFilter.charAt(j + 1);
if(c == '?')
{
for(int k = i; k < s.length(); k++)
if(accept(s, k, j + 1))
return true;
return false;
}
for(int l = s.indexOf(c, i); l < s.length() && l != -1; l = s.indexOf(c, l + 1))
if(accept(s, l, j + 1))
return true;
return false;
default:
if(i < s.length() && normalizedFilter.charAt(j) == s.charAt(i))
i++;
else
return false;
break;
}
return i == s.length();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -