• 追加された行はこの色です。
  • 削除された行はこの色です。
TITLE:Device Nameのチェック
#navi(../)
*Device Nameのチェック [#g9d2457b]
>編集者:[[Terai Atsuhiro>terai]]~
作成日:2003-09-25~
更新日:&lastmod;

#contents

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

#screenshot

**サンプルコード [#i6a151e5]
 private boolean isCanonicalPath(File file) {
   if(file==null) return false;
   try{
     if(file.getCanonicalPath()==null) return false;
   }catch(IOException ioe) {
     return false;
   }
   return true;
 }

//-&jnlp;
//-&jar;
//-&zip;
-&jar;
-&zip;

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

**参考リンク [#sa0510ba]
-[[Windowsパス名の落とし穴>http://www.ipa.go.jp/security/awareness/vendor/programming/b08_01_main.html]]

**コメント [#z8d1a04a]
#comment