アプリ版:「スタンプのみでお礼する」機能のリリースについて

javaでファイルの実態チェック(拡張子無し)


拡張子があるものであればFileクラスの.exists()で確認できると思いますが、
拡張子の無い(故意に消してある)ファイルに対して行うとエラーが出てしまいます。

つきましては、拡張子の無いファイルに対しての存在確認方法をご存知の方がおりましたら、
ご教授の程よろしくお願いいたします。

A 回答 (1件)

>拡張子の無い(故意に消してある)ファイルに対して行うとエラーが出てしまいます。


とはどのようなエラーですか?問題なく確認できますが。

以下のようなフォルダを用意しました。
c:\
 -test
   a --拡張子無し
   a.log

以下のソースを実行しました。
import java.io.File;
public class FileExists {
 public static void main(String[] args) {
  File dir = new File("c:\\test");
  for (File file : dir.listFiles()) {
   System.out.println(file.getName() + ":" + file.exists());
  }
 }
}

実行結果
a:true
a.log:true

拡張子無しのファイル(a)もexists()で確認できます。
当方の環境は
OS:WindowsXP Pro SP3
java:1.6.0_21
です。

この回答への補足

補足追加になります。

System.out.println(○○.exists);の形式でチェックをかけると
正常にtrue or falseがリターンされますが、、

if(○○.exists)の形式ですと上記の「String index out of range: -1」が出ます。

テスト環境
OS WindowsVista Business
java:jdk 1.5.0.16

補足日時:2010/09/09 17:33
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

説明に抜けがありましたので、補足致します。

拡張子がないファイルにexists()をかけた際、trueの場合は正常動作するのですが、
falseの場合は「String index out of range: -1」が出てしまいます。

お礼日時:2010/09/09 16:53

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!