2008年06月21日

Javaで階層のあるディレクトリを走査する

Javaの場合は、やはりEclipseの存在が大きいですね。Rubyなどに比べると書くコード量は多いですが、Eclipseによる入力支援・リファクタリング支援もコミで考えると、やっぱり生産性が高い言語です。


import java.io.File;
import org.apache.commons.lang.StringUtils;

public class MyWalk {

public static void main(String[] args) {
MyWalk m = new MyWalk();
m.search( new File("C:\\usr\\local\\share"), 0 );
}

private void search(File dir, int depth) {
String[] filenames = dir.list();
for( String name : filenames ) {

File fobj = new File(dir.getPath() + File.separator + name);

if( fobj.isFile() ) {
System.out.println(StringUtils.repeat("\t", depth) + fobj.getPath());
} else if( fobj.isDirectory() ) {
System.out.println(StringUtils.repeat("\t", depth) + fobj.getPath() + "/");
search(fobj, depth + 1);
}
}
}

}



org.apache.commons.lang.StringUtils#repeat
は、
http://commons.apache.org/downloads/download_lang.cgi
のライブラリを使用しています。
posted by 台北猫々 at 21:30| Comment(0) | TrackBack(0) | 技術メモ(Java)
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/16245659

この記事へのトラックバック