1

私は自分のJavaWebアプリケーションで次のC'torを使用していました

public File(String pathname)  

例:
File = new File( "1.txt");
次に、パスに次のファイルを取得します。

C:\Program Files\Apache Software Foundation\Apache Tomcat 7.0.22\bin\1.txt  

私の質問:上記のc'torを使用するときに、これがデフォルトのフォルダーである理由と、たとえばプロジェクトフォルダーに対してデフォルトで変更するオプションがある場合。

ありがとう

4

3 に答える 3

1

ファイルの作成中にパスを指定していないため、デフォルトでは、.Javaファイルが存在する場所にファイルが作成されます。これを防ぐために、次を使用できます。

File file = new File ( "C:\\1.txt" );

次に、C:ドライブで1.txtを作成します。

ファイルドキュメントを確認できます。デフォルトのパスを設定する方法はありません。代わりに、File()コンストラクターでそれ自体を指定します。

于 2012-05-27T15:23:52.723 に答える
1

相対パスのファイルはSystem.getProperty("user.dir")、アプリケーションの起動ディレクトリを使用します(これはほとんどの場合悪い考えです)。getRealPath("/1.txt")Webアプリケーションでは、Webアプリケーションディレクトリから相対的なサーブレットを使用する必要があります。注意\\してください/

于 2012-05-27T15:25:43.333 に答える
1

また、たとえばプロジェクトフォルダに対してデフォルトで変更するオプションがある場合。

サーブレットでは、

File f = new File(getServletContext().getRealPath("/1.txt"));  
于 2012-05-27T16:08:24.140 に答える