Next: 3.3 ファイルのOpen, 文字読み込み
Up: 3 ファイルの取り扱い
Previous: 3.1 Fileクラス
バイトストリーム,文字ストリームの両方には,
FilenameFilterというストリームをフィルタリングする
インタフェースがある.
このインタフェースを実装したクラスにおいて
メソッドとしてacceptを定義しておくと,そのオブジェクトに
フィルターオブジェクトを引数としたlistメソッドを送った
場合にそのフィルターオブジェクトのacceptが呼び出される.
public interface FilenameFilter {
boolean accept(File dir, String name);
}
//: DirList.java
// Copyright (c) Bruce Eckel, 1998
// Displays directory listing
import java.io.*;
public class DirList {
public static void main(String[] args) {
try {
File path = new File(".");
String[] list;
if(args.length == 0)
list = path.list();
else
list = path.list(new DirFilter(args[0]));
for(int i = 0; i < list.length; i++)
System.out.println(list[i]);
} catch(Exception e) {
e.printStackTrace();
}
}
}
class DirFilter implements FilenameFilter {
String afn;
DirFilter(String afn) { this.afn = afn; }
public boolean accept(File dir, String name) {
// Strip path information:
String f = new File(name).getName();
return f.indexOf(afn) != -1;
}
}
generated through LaTeX2HTML. M.Inaba 平成18年5月7日