11

私はC#などの.NET言語を使用していることを知っています。

Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)

デスクトップのリダイレクトされた場所を検索します。しかし、Javaの下では、これを行うための良い方法を考えることはできません。JNIを使​​用せずに、Javaからリダイレクトされたユーザーのデスクトップディレクトリを見つけるための最も適切な方法は何ですか?ここでの特定の目的は、ユーザーが必要に応じて、JavaWebStartアプリケーションのデスクトップショートカットを管理することです。

このアプリケーションは、「アプリケーションデータ」ツリーと、オプションでデスクトップに書き込む必要があります。%APPDATA%「アプリケーションデータ」ツリーを見つけるために、フォルダがリダイレクトされた場合でも、常に正しく入力されていると仮定しています。ですから、私の未解決の質問は、デスクトップフォルダを確実に見つける方法です。

注:Javaシステムプロパティは、${user.home}実際に(そして誤って)レジストリキーを介してユーザーのデスクトップディレクトリを見つけ、次に1つのディレクトリを上に移動して「ホーム」ディレクトリを見つけようとすると思います。これは、ディレクトリがリダイレクトされていない場合は正常に機能します。そうでない場合は、有用なものが返される場合と返されない場合があります。

4

3 に答える 3

31
FileSystemView filesys = FileSystemView.getFileSystemView();

filesys.getHomeDirectory()
于 2009-02-20T17:32:56.687 に答える
-1
public class Sample {
   public static void main(String[] args) {    
      String desktopPath =System.getProperty("user.home") + "\\"+"Desktop";
      String s = "\"" + desktopPath.replace("\\","\\\\") + "\\\\" +"satis" + "\"";

      System.out.print(s);
      File f = new File(s);

      boolean mkdir = f.mkdir();
      System.out.println(mkdir);
   }
}
于 2012-04-18T02:02:05.140 に答える