私はプロジェクトに取り組んでおり、1 つの要件は、メイン メソッドの 2 番目の引数が「<code>/」(Linux の場合) で始まる場合、それを絶対パスと見なす必要があります (問題ではありません)。 「<code>/」で始まる場合、クラスの現在の作業パスを取得し、それに指定された引数を追加する必要があります。
クラス名はいくつかの方法で取得できます: System.getProperty("java.class.path")
、new File(".")
および などgetCanonicalPath()
...
問題は、これはパッケージが保存されているディレクトリだけを提供することです。つまり、クラスが " .../project/this/is/package/name
" に保存されている場合、" " しか提供されず/project/
、実際に存在するパッケージ名は無視され.class files
ます。
助言がありますか?
編集:演習の説明から取られた説明は次のとおりです
sourcedir は、絶対 (「/」で始まる) またはプログラムを実行する場所からの相対のいずれかです。
sourcedir は、main メソッドの指定された引数です。どうすればそのパスを見つけることができますか?