2012-02-03 8 views
6

別のフォルダを開くにはどうしたらいいですか?たとえば、「このファイルをディスク上に配置する」や「 「フォルダ」はファイルをダウンロードするときに行い、保存された場所を知りたい場合に使用します。目標は、ブラウザを開いてファイルをディスク上に配置するユーザーの時間を節約することです。ここで は、Windows 7に私のために働いていたものです:: おかげで enter image description herejava:ボタンをクリックして開くフォルダ

私は答えを得た(下の画像は、Firefoxが何をするかの一例です)@AlexSに

 File foler = new File("C:\\"); // path to the directory to be opened 
     Desktop desktop = null; 
     if (Desktop.isDesktopSupported()) { 
     desktop = Desktop.getDesktop(); 
     } 

     try { 
     desktop.open(foler); 
     } catch (IOException e) { 
     } 

感謝を

+0

編集したコードは、 'if'ステートメントで保護されたブロックの中で開いていない限り、NullPointerExceptionをスローすることがあります。 –

答えて

10

私はあなたがファイルを持っていると仮定します。 java.awt.Desktopを使用すると、このようなものを使用することができます:あなたは何のディレクトリではないファイルでこれを呼び出した場合、少なくともWindowsがファイルタイプのデフォルトのプログラムでファイルを開こうとすることを

public static void openContaiingFolder(File file) { 
    String absoluteFilePath = file.getAbsolutePath(); 
    File folder = new File(absoluteFilePath.substring(0, absoluteFilePath.lastIndexOf(File.separator))); 
    openFolder(folder); 
} 

public static void openFolder(File folder) { 
    if (Desktop.isDesktopSupported()) { 
     Desktop.getDesktop().open(folder); 
    } 
} 

がawraeう。

しかし、これはどのプラットフォームでサポートされているのか分かりません。