TITLE:Device Nameのチェック

Device Nameのチェック

編集者:Terai Atsuhiro
作成日:2003-09-25
更新日:2022-06-17 (金) 11:55:49

概要

ファイルチューザーなどで入力されたファイル名が、デバイスファイル名(con、prn、nul、auxなど)でないかチェックします。

サンプルコード

private boolean isCanonicalPath(File file) {
  if(file==null) return false;
  try{
    if(file.getCanonicalPath()==null) return false;
  }catch(IOException ioe) {
    return false;
  }
  return true;
}

解説

Device Nameを含むような正しくないファイルパス(c:\con.txtなど)を、読み書きしようとすると、落ちたり、おかしくなる場合があるようです。これはFile#getCanonicalPath() メソッドがnullを返すかどうかでチェックすることができます。

参考リンク

コメント