注: ここでは、「純粋な JRE」ソリューションのみに関心があります。つまり、JRE に同梱されている (そして、おそらくjava.ioパッケージ内に存在する) タイプを含むソリューションです。Apache Commons などは、単一のメソッド呼び出しからこれをうまく行うユーティリティ クラスを提供していると確信していますが、ここでは純粋な JRE が必要です。
次のランタイム ディレクトリ構造があります。
MyProject/
fizz.txt
src/
com/
myorg/
Driver
MyDriverはエントリ ポイント (静的mainメソッドを含む) であり、実際には、プロジェクトの残りのビルド/デプロイなどとは別に、コマンド ラインから呼び出します。
java com.myorg.Driver -url blah.example.com
等
の中Driverで、私はそれを読んfizz.txtで何かをする必要があります。注:何があっても、常に 3 つの親ディレクトリの上にfizz.txt配置されます。Driver
内部Driverには次のコードがあります。
File fizz = new File("../../../fizz.txt");
System.out.println("fizz = " + fizz.getAbsolutePath());
を実行するDriverと、次の例外が発生します。
Exception in thread "main" java.lang.RuntimeException: java.io.FileNotFoundException: ../../../fizz.txt not found.
at com.myorg.Driver(Driver.java:76)
at com.myorg.Driver.main(Driver.java:45)
fizz = /home/myuser/relay/workbench/eclipse-juno/workspace/MyProject/../../../
Java は..、関係 " parent-of " として " " の概念を尊重していないようです。だから私は尋ねます:どのようにファイルAPI(再び、純粋なJRE)を使用してアクセスfizz.txtしDriverますか?前もって感謝します!