见下面的程序,这个回调是怎么发生的啊?从程序中怎么看不出逻辑,都没有调用accept ()?
import java . io . File ;
import java . io . * ;
import java . util . * ;
import java . util . regex . * ;
public class DirList
{
public static void main (String [ ] args)
{
File path = new File (".") ;
String[ ] list ;
if ( args . length == 0 )
{
list = path . list ( ) ;
}
else
{
list = path . list (new DirFilter ( args [ 0 ])) ;
}
Arrays . sort (list , String . CASE_INSENSITIVE_ORDER );
for (String dirItem : list )
System . out . println (dirItem) ;
}
}
class DirFilter implements FilenameFilter
{
private Pattern pattern ;
public DirFilter ( String regex )
{
pattern = pattern . compile ( regex );
}
public boolean accept ( File dir , String name )
{
return pattern . matcher ( name ) . matches ( ) ;
}
}
四季花海
呼啦一阵风
MYYA
相关分类