- - PR -
アップロードしたファイル名
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-09 20:59
OS:Solaris9(Struts使用)
JAVA初心者です。宜しくお願いします。 アップロードしたファイルがエクセルのファイルかチェックするロジックで 「getFileName(file)」を使用しています。 if(! StringOperate.getFileExt(file.getFileName()).toUpperCase().equals("XLS")) { } (StringOperate.getFileExtは拡張子取得する部品です) エクセルファイルなのに 「修」・「松」の字がファイル名に含まれるとチェックでエラーとなります。 ※「修)」ではエラーになりません。 ※Windows環境でもエラーとなりません。 ※2バイト目に0x5Cを持つ文字である「表」をファイル名に含んでもエラーとなりません。 文字コードの問題かなって思っているのですが。。。 「getFileName(file)」は2バイト目に0x5Cを持つ文字以外にも文字化けすることは 有るのでしょうか? その場合、どのようなパターンのファイル名が文字化けするのでしょうか? |
|
投稿日時: 2006-08-09 22:32
「チェックでエラー」とおっしゃっていますが、
具体的にどんな例外が発生するのでしょうか? 発生している例外を見て対処するのが王道です。 例外が出る〜という類の質問の際は例外のスタックトレースを提示しましょう。 StringOperate.getFileExt(file.getFileName())とやらが正しく 拡張子を切り出せているという前提で、大文字小文字を区別なく比較するなら equalsIgnoreCase()で比較したほうがよいかも。 toUpperCase()は言語のロケールが絡むようなので環境により 違いが出るのかもしれませんね。 |
|
投稿日時: 2006-08-10 08:51
nagiseさんありがとうございます。
説明不足ですみません。 「チェックでエラー」とは チェックロジック(IF文)でエラー(条件に該当する)となってしまう言うことです。 でもって、「OS:Solaris9(Struts使用)」 の環境は、 お客さんの環境で、トレース・デバッグできないんです。 「equalsIgnoreCase()」を試してみます。 ありがとうございます。 |
1