0

ファイル dateTesting.java があります。パスのディレクトリは次のとおりです: D:\workspace\Project1\src\dateTesting.java 。このファイルのフルパスを「D:\workspace\Project1\src」自体にしたいのですが、次のコードのいずれかを使用すると、「D:\workspace\Project1」しか得られません。src の部分は来ていません。

System.out.println(System.getProperty("user.dir"));
File dir2 = new File(".");
System.out.println(dir2.getCanonicalPath().toString());
System.out.println(dir2.getAbsolutePath());

"D:\workspace\Project1\src" として完全なパスを取得するにはどうすればよいですか? 私はEclipse ide 3.5を使用しています

ありがとうございました

4

5 に答える 5

0

dir2 は作業ディレクトリ ( new File(".")) を指しています。この方法では、ソースの場所を取得できません。ファイルはパッケージ内にある可能性があります (例: your.company.date.dateTesting)。「src」を現在の作業ディレクトリに手動で連結し、ファイル パッケージのドット ( .) をFile.pathSeparator. このようにして、ファイルへのフル パスを作成します。

于 2013-09-17T09:44:32.990 に答える
0
String fullFilePath = "H:\\Shared\\Testing\\abcd.bmp";
    File file = new File(fullFilePath);

    String filePath = file.getAbsolutePath().substring(0,fullFilePath.lastIndexOf(File.separator));
    System.out.println(filePath);

出力: H:\Shared\Testing

于 2013-09-17T09:45:45.290 に答える
0

クラスパスからファイルを読み取ろうとしてこれを行っている場合は、次の回答を確認してください: How to really read text file from classpath in Java

基本的にこれを行うことができます

InputStream in = this.getClass().getClassLoader()
                            .getResourceAsStream("SomeTextFile.txt");

それ以外の場合、その他の要件がある場合は、アプリケーションの開始時に src ディレクトリを JVM arg として渡し、それを読み返すという 1 つのオプションがあります。

于 2013-09-17T09:47:08.340 に答える
0

dateTesting.javaは、バイトコードへのコンパイル後に使用できない Java ソース ファイルです。それがあったソースディレクトリも利用できません。

dir2は、ファイルFileを実行するディレクトリの です.class。これはたまたまそうであると思われますD:\workspace\Project1が、これに頼ることはできません。

于 2013-09-17T09:41:47.423 に答える