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