このコードは、正規表現が必要である File.separator を使用しています。 これは File.separator がバックスラッシュである Windows プラットホームでは失敗します。 バックスラッシュは正規表現ではエスケープ文字として解釈されます。 その他の選択肢としては、File.separator の代わりに File.separatorChar=='\\' ? "\\\\" : File.separator を使用できます。
File.separator
File.separatorChar=='\\' ? "\\\\" : File.separator