سؤال

هذا السؤال لديه بالفعل إجابة هنا:

كيف تفتح ملف من تطبيق Java عندما لا تعرف التطبيق الذي يرتبط الملف به. أيضا، لأنني أستخدم Java، أفضل حل منصة مستقلة.

هل كانت مفيدة؟

المحلول

مع JDK1.6، java.awt.Desktop الفئة يمكن أن تكون مفيدة.

public static void open(File document) throws IOException {
    Desktop dt = Desktop.getDesktop();
    dt.open(document);
}

نصائح أخرى

File file
Desktop.getDesktop().open( file );

منذ جافا 1.6.

السابق لذلك يمكنك تحقق من هذا السؤال

ملخص

سيبدو شيء هكذا:

Runtime.getRuntime().exec( getCommand( file ) );

public String getCommand( String file ){ 
    // Depending on the platform could be
    //String.format("gnome-open %s", fileName)
    //String.format("open %s", fileName)
    //String.format("cmd /c start %s", fileName)
    // etc. 
}

يمكنك اختراق شيء جنبا إلى جنب مع ملف الخفافيش على النوافذ وما يعادله على يونيكس، ولكن هذا لن يكون هذا المرح.

أعتقد أن أفضل رهان الخاص بك سيكون مكونات تكامل jdesktop (JDIC). وبعد على وجه الخصوص، سطح المكتب الطبقة لديها بالضبط الطريقة التي تبحث عنها.

تحرير: على ما يبدو، أنا وراء الأوقات لأن هذا تم دمجه في Java 1.6. على أي حال، إذا كنت تعمل في جافا في وقت سابق، فقد لا يزال من المفيد.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top