0

Tomcat サーバーに Excel ファイルをアップロードしています。私のEclipseディレクトリ内に保存されているものD:\workspace_Eclipse\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\StatusPortal\Job_doc\abc.xls

このファイルにアクセスしているときはいつでも、 file not found Exception が表示されます\Job_doc\abc.xls。次のようなファイルにアクセスしているときに、私が与えているパスを見つけることができませんでした \Job_doc\abc.xls

\Job_doc\abc.xls アクセスしながらパスを与えています 。

4

2 に答える 2

0

ClassLoader以下を使用してファイルを読み取ってみてください。

   InputStream inputStream = 
          getClass().getClassLoader().getResourceAsStream("/Job_doc/abc.xls");
   BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream ));

オブジェクトを取得したい場合は、次のFileようにしてください。

  URI uri = getClass().getClassLoader().getResource("/Job_doc/abc.xls").toURI();
  File file = new File(uri);
于 2012-11-19T05:29:34.480 に答える
0

これは、相対パスを使用しているためです。Eclipse は、現在の作業ディレクトリを、webapp をデプロイするための一時的な場所として使用します。そのため、ファイルはこのパスに相対的なフォルダーにアップロードされます (これは、Eclipse からアプリを起動したときに発生しますRun On Server。パスを静的定数として定義します (テスト用に絶対パスを使用できる場合があります)。テスト後、相対パスを使用できます。生産展開。

それでも、別の方法で行うことができます。Eclipse の統合 Tomcat サーバーを使用しないでください。スタンドアロン サーバーを使用し、記述子ファイルを使用してワークスペースの webapp を tomcat にリンクします。保存後、Tomcat マネージャーでアプリをリロードして試してください。

于 2012-11-19T05:30:57.287 に答える