0

ローカルホストにweblogicがあります。私のWebアプリケーションはいくつかのrdfを保存します:

String name = UUID.randomUUID().toString();
FileOutputStream fop = null;
try {
    fop = new FileOutputStream(name);
} catch (FileNotFoundException e) {

}
model.write(fop);

このファイルが保存されているURLに移動すると、次のエラーが発生しました。

XML Parsing Error: no element found
Location: http://url/0260fcff-b53d-4d18-8fb0-fb31f6a6ff1a.rdf
Line Number 1, Column 1:

このファイルは自分のコンピューターのどこにありますか?

PS私はこのファイルをJavaアプリケーションだけで保存しようとしましたが、それは機能するので、rdfは問題ないはずです。

4

2 に答える 2

1
  1. パスを指定せずにファイルを保存すると、JVMが呼び出された場所にファイルが保存されます。Webアプリケーションの場合、これは通常、binフォルダーです。そのため、その場所を確認してください(たとえば、Tomcatの場合は{TOMCAT_HOME} / binになります)

  2. ファイルにアクセスする方法(http://url/0260fcff-b53d-4d18-8fb0-fb31f6a6ff1a.rdf)Webアプリケーションのルートにあることを期待しています。たとえば、Tomcatベースのアプリケーションがある場合、myapp.warと言うとWebアプリのルートは次のようになります。{TOMCAT_HOME}/webapp/myapp

  3. これが、URLを介してアクセスしたときに生成されたファイルが見つからない理由です。

  4. これを機能させるには、ファイル入力ストリームへのパス(絶対パス)を指定します(目的のパスの場所でFileオブジェクトを作成します。この場合は次のようになります{TOMCAT_HOME}/webapp/myapp) 。

于 2012-04-19T14:15:35.847 に答える
0

System.out.println(new File("."))あなたに道を与えるでしょう。ただし、相対パスは避ける必要があります。アプリケーションの絶対パスを構成し、それを使用します。

また、通常はアプリケーション自体にファイルを保存しないことにも注意してください。それらを別の場所に保存し、それらを読み取り、ストリーミングする特別なコントローラーを介してクライアントにサーバーします。

于 2012-04-19T14:07:44.997 に答える