3

Web アプリ内でファイルを開くのに問題があります。Eclipse 内でローカルに試してみましたが、正常に動作しますが、Openshift の Tomcat 6 にデプロイしようとすると、Web アプリのリソース ファイルが見つかりません。ProjectFilesディレクトリに保存されているディレクトリにはいくつかのtxtファイルがありますWEB-INF。ファイルをローカルで開くコードは

String nome_file = "C\:\\Users\\miKKo\\workspace\\fantacalcio_project\\WebContent\\WEB-INF\\ProjectFiles\\Risultati\\risultati_" + nome_lega + ".txt"; 

BufferedReader reader = new BufferedReader(new FileReader(nome_file));

同じリポジトリのGit内にそれらをプッシュしました(サーバー上でプロジェクトの名前を「ROOT」に変更しました)、文字列をこれに置き換えました

String nome_file = this.getServletConfig().getServletContext().getContextPath()+"/WebContent/WEB-INF/ProjectFiles/Risultati/risultati_" + nome_lega + ".txt";

しかし、うまくいきません。コンテキスト属性も試しました

/var/lib/openshift/51c6178a5004467630000019/jbossews/work/Catalina/localhost/_/WEB-INF/ProjectFiles

しかし、スローされた例外は常に

java.io.FileNotFoundException: (#path) (そのようなファイルまたはディレクトリはありません)

これには何ができますか?

4

2 に答える 2

2

アプリケーションのルート実パスを取得できないため、次の方法で解決しました。

String path="/WEB-INF/ProjectFiles/Risultati/risultati_test.txt";
InputStream inputStream = this.getServletConfig().getServletContext().getResourceAsStream(path);
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

そして今それは動作します。ちなみに、ここでも役立つ情報を見つけました

getResourceAsStream() と FileInputStream

于 2013-06-30T21:54:44.793 に答える