>>165

args[0] と、いきなり配列 args の最初の要素にアクセスしようとしているが少なくとも
要素が1つはあることを確認したほうが良い。要素がゼロ個の時は、エラーメッセージ吐いて終わる、とか。

配列 s が持っている要素の個数(配列の長さ)を越えてアクセスすると、
java.lang.ArrayIndexOutOfBoundsException
という例外が発生するのだが、プログラム全体が1つの try catch に囲まれてしまって
いるため、それに気づくことができなくなっている。初心者は面倒でも細かく try catch を使うべし。

このプログラムの場合、指定されたディレクトリが存在しない時は、File#list() の戻り値が null になる。
これを検出して、メッセージを表示すればよい。(このプログラム場合 try catch はそもそも必要ないと思う。)

while で配列の各要素に順にアクセスしようとしているが、配列の要素に順にアクセスする際に
頻繁に使われるイディオムがある。for を用いて次のように書く。

for (int i=0; i<array.length; i++) {
  // array[i] を使った何かをここに書く
}

ディレクトリのスペルが間違っている。間違うくらいなら日本語で書く。No Such が何を指しているのか
を明記する。エラーメッセージは System.out ではなく System.err に吐く。