2011-04-07 24 views
3

わかりましたので、私は、ファイル名myfile.txtのを読んでの私は、このディレクトリの下に保存されます言わせたい:Javaで動的なファイルパス(書き込みやテキストファイルを読み込むに)

ホーム/がmyName /ドキュメント/ workspace/myProject/files myfile.txt

hmmm ..私はFile(filePath)を私のパラメータとして渡すべきことを知りたいです... ".. \ myfile.txt"のようなものを置くことはできますか?私はファイルパスをハードコードしたくありません。なぜなら、別のPCでプロジェクトを開くと言うと、間違いなく変更されるからです。ファイルパスができるだけ動的であることを確認するにはどうすればよいですか?ところで、私はjavaを使用しています。

File teacherFile = new File(filePath); 

答えて

4

../myfile.txtなどの相対パスを使用してファイルを参照できます。これらのパスのベースは、Javaプロセスがコマンドラインで開始されたディレクトリになります。 Eclipseの場合は、プロジェクトのルート、またはの実行>実行コンフィギュレーション>引数の下で作業ディレクトリとして設定したものです。あなたは、現在のディレクトリには、Javaの内部にあるかを確認したい場合は、ここでそれを決定するためのトリックです:

File currentDir = new File(""); 
System.out.println(currentDir.getAbsolutePath()); 
0

あなたは../myfile.txtを使用することができますしかし、この場所は、アプリケーションの作業ディレクトリに応じて変化します。あなたはプロジェクトのベースディレクトリを決定する方が良いですし、それを基準にしたパスを使用してください。

2

デフォルトでは、相対パスを使用できます。相対パスは、Javaアプリケーションを実行している現在のディレクトリからの相対パスになります。

しかし、あなたはまたしてユーザのホームディレクトリを取得することができます。

String userHome = System.getProperty("user.home"); 
1

あなたはそれを行うことができます、あなたのアプリケーションフォルダへのパスがある今

File currentDir = new File ("."); 
String basePath = currentDir.getCanonicalPath(); 

basePathそれを追加し、正確なDIR /ファイル名とあなたは行こうとしています

関連する問題