2011-10-19 18 views
0
FileHelper fileList = new FileHelper(); 
ArrayList<String> files = fileList.getFiles("C://temp", 3); 

これは私がパスのために持っているものです(3つは、どれだけ多くのフォルダを深くしたいのですか)。それは、localhostから実行しているときに、どのようにしたいのかを正確に処理します。しかし、Webにアップロードすると、Cドライブができなくなるので、代わりに何を入れるのですか?Java:Fileを使用してFileHelperクラスを作成し、JSPでWebページ... help?

私はアイブ氏が試したすべてのものの上に、このエラーを得ている

org.apache.jasper.JasperException: An exception occurred processing JSP page /content/reports.jsp at line 23 

21: <% 

22: FileHelper2 fileList = new FileHelper2(); 

23: ArrayList<String> files = fileList.getFiles("C://", 3); 
+0

これがあると思われます簡単な問題。どこにアプリケーションをアップロードしましたか?それはWindowsサーバーか別のOSですか? –

+0

windows私は – Flame

+0

と考えています。アプリケーションサーバログから例外スタックトレースなどの例外も追加してください。それは人々があなたをより良く助けるのに役立ちます。 –

答えて

1

をあなたのユーティリティメソッドは、単にファイルシステムからファイルをロードしている場合は、上のシステム上のファイルへの完全なパスを提供する必要がありますあなたのアプリがホストされています。

1

smp7dの回答に加えて、ファイルをアプリケーションに関連付けることができ、ServletContext.getRealPath(path)でパスを取得することも、環境に合った絶対パスを取得することも、あなたのアプリのクラスパスと(ファイルシステムファイルではなく)リソースとして提供する。絶対パス値が-Dサーバ起動パラメータ(EW)によって提供され得る

、サーブレットinit-param(良好)、クラスパスプロパティリソースからロードされたフレームワーク固有のパラメータ、等

+0

これは、ファイルパスをハードコーディングするのではなく、Webアプリケーションでファイルをロードする方が良い方法です。 –

関連する問題