• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ListFilesに失敗する)

ListFilesに失敗する

このQ&Aのポイント
  • ListFilesでネットワーク越しにフォルダを検索するとエラーになってしまいます。ネットワーク環境が変わった影響かもしれません。
  • コンピュータA上で動いているWebアプリケーション内からコンピュータB上のフォルダに関してListFilesをしていますが、先日工場の引越しがあり、ネットワーク環境が変わったため、エラーが発生しています。
  • ListFilesを使用してネットワーク越しにフォルダを検索する際にエラーが発生しています。工場の引越しによってネットワーク環境が変わったため、この問題が発生している可能性があります。

質問者が選んだベストアンサー

  • ベストアンサー
  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.2

エラーというのが、 a.プログラムでエラーの状況を検出しているのか、 b.プログラムの実行を継続できなくて止まってしまっているのか がわからなかったので、「メッセージ」と曖昧な書き方にしてしまいました。 a.ならプログラムの挙動または、もし表示やログ出力がされるならその内容を。 b.ならスタックトレースがコンソールに表示されると思うのでその内容を。 と思っていました。 さて、提示されたソースによると、a.のケースに当たりますよね。 http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/api/java/io/File.html#listFiles() によると、File.listFiles()は 「この抽象パス名がディレクトリを示さない場合、または入出力エラーが発生した場合は null」を返す とありますので、やはり原因が完全には特定されません。 原因の候補としては、 1)コンピュータBのホスト名がかわった 2)検索対象ファイルの名前または置き場所がかわった 3)コンピュータAからコンピュータBのファイルを参照する際にパスワードが必要になった 4)コンピュータAからコンピュータBのファイルを参照する権限がない などが考えられます。 この場合は普通にエクスプローラで、コンピュータAからコンピュータBのファイルを見ることができるかどうかを確認してみるといいと思います。 また、単純にstrRootPathの内容が間違っているという事も考えられます。 以上です。

その他の回答 (1)

  • bnosuke-x
  • ベストアンサー率39% (43/110)
回答No.1

ちょっと情報が少ない感じもしますが、 「ネットワークの遅延によるタイムアウト」が怪しいです。 エラーになる箇所と、そのメッセージを提示されると手がかりになると思います。

noname#61827
質問者

補足

御礼が遅くなりすいません。ご回答ありがとうございます。 私はJavaもネットワーク関連も詳しくないのですが、ちょっとソフトが出来ると言うので、該当プログラムの引継ぎをされてしまいました。(泣) で、ソースですが以下のような感じです --------------- public static String existMfgNo(String mfgNo) throws Exception { File dir; File users[]; File mfgNos[]; String strRootPath; if(ImsUtils.getEqpType(mfgNo).equals(ImsConfig.TYPE_FC)) { strRootPath = ImsConfig.getInstPath(ImsConfig.TYPE_FC); } else { strRootPath = ImsConfig.getInstPath(ImsConfig.TYPE_WS); } dir = new File(strRootPath); users = dir.listFiles(); if(users == null) { throw new Exception(strRootPath + ":フォルダ検索失敗"); } ~後略~ } --------------- とまぁ、こんな感じなのですが、if(users == null)の部分でエラー処理に入ってしまいます。 ちなみに、strRootPathには別ファイルサーバーのフォルダ名が入るようになっています。(\\computer1\folder\dir 見たいな感じです) # ちなみに、回答に記されておりますメッセージと言うのは何のメッセージのことでしょうか? よろしくお願いします。 以上

関連するQ&A

専門家に質問してみよう