私の問題は、getAbsolutePath
が見つけようとしているファイルの周りの特定のフォルダを無視していることです。私がやろうとしているのは、そのファイルの名前だけを使ってファイルパスを取得することです。getAbsolutePath特定のフォルダを無視する
import java.awt.Desktop;
import java.io.File;
import java.io.IOException;
public class OpenFile {
public static void main(String[] args) throws IOException{
File file = new File("Point.java");
String path = file.getCanonicalPath();
try {
Desktop.getDesktop().open(new File(path));
} catch(IOException e) {
System.out.println("not work");
}
}
}
私はこのエラーを取得しています:
Exception in thread "main" java.lang.IllegalArgumentException: The file: /Users/default/Desktop/Eclipse/TreeThing/Point.java doesn't exist.
at java.awt.Desktop.checkFileValidation(Desktop.java:210)
at java.awt.Desktop.open(Desktop.java:270)
at ForkBomb.main(ForkBomb.java:11)
実際のファイルパスが/Users/default/Desktop/Eclipse/TreeThing/src/Point.java
ですが、ディレクトリのsrcが無視されているため、プログラムが実行されませんここで私が使用しているコードです。どうすれば解決できますか?
'TreeThing'ではなく' TreeThing/src'です。 –
私は自分自身でファイルパスをトレースしました。これは、TreeThingの内側にあるsrcというフォルダ内にあります。 –
[getCanonicalPath() '](https://docs.oracle.com/javase/8/docs/api/java/io/File.html#getCanonicalPath--)のjavadocをもう一度読んでください(または最初に?)実際に*それが何を参照してください。ヒント:ファイル*検索*メソッドではありません。 – Andreas