2009-08-21 12 views
0

拡張子を付けずにファイルを開こうとします。私が拡張子なしでファイルを開こうとすると、システムは "Open with"フォームを表示します。しかし、私の側でこのファイルを開こうとすると、メソッドを使用してアプリケーション:拡張子なしでファイルを開く方法

private static void openFile(String fileName) throws IOException { 
     if(Desktop.isDesktopSupported()) { 
      Desktop desktop = Desktop.getDesktop(); 
      File file = new File(fileName); 
      desktop.open(file); 
     } else { 
      Runtime.getRuntime().exec(String.format("cmd /c start %s", fileName)); 
     } 
    } 

システムはこのフォームを表示しません。 これを解決するには?

+0

こんにちは、 それが例外をスローしていますか? – ATorras

+2

ファイルに拡張子を追加してみませんか?そのファイルが何であるかについては、ユーザーにとっては明らかになります。 – pjp

+0

はい。メソッドが例外をスローする:java.io.IOException。エラーメッセージ:パラメータが正しくありません。 –

答えて

2

Desktop.open()は、ファイルの拡張子に関連付けられたアプリケーションを起動します。

+1

おそらく最も良い質問OPのために、あなたはそれをダブルクリックしたときに拡張子のないファイルを開いていますか?拡張子を削除するために変更された '.png'を使ってWindows 7で簡単にテストすると、' Open with'ダイアログが生成されます。 –

0
try { 
    Desktop desktop = Desktop.getDesktop(); 
    desktop.open(file); 
} 
catch (Exception ex) { 
    Runtime.getRuntime().exec(String.format("cmd /c start %s", file)); 
} 
+0

コードの説明 – Zombie

関連する問題