ファイルの書き込みと読み取り操作を行うデスクトップアプリケーションを開発しました。ファイルのパスを取得するには、次のコードを使用しました:
static final String workingDir = System.getProperty("user.dir");
public static final String resourcesPath =
workingDir + File.separator + "src" + File.separator;
Windows変数resourcesPath
には含まれていますC:\app\src\
が、UNIXベースのシステムでアプリケーションを実行すると、 me が返されます/home/eboss\src\
。
Unixベースのシステムでは正しい/home/eboss
パスですSystem.getProperty("user.dir");
が、それを連結するFile.separator
とパスにこれが追加されます\
。その結果、(No such file or directory) エラーが発生します。
unix ベースのシステムが間違ったパスを返すのはなぜですか?