2012-02-03 17 views
6

जावा में, हम अलग-अलग फ़ोल्डर (जैसे सी :) को बटन के क्लिक पर उपयोगकर्ता के लिए खोल सकते हैं, उदाहरण के लिए "डिस्क पर इस फ़ाइल को ढूंढें" या "खुले युक्त फ़ोल्डर "करता है जब हम एक फ़ाइल डाउनलोड करते हैं और हम जानना चाहते हैं कि यह कहां से सहेजा गया था। लक्ष्य ब्राउज़र खोलने और डिस्क पर फ़ाइल का पता लगाने के लिए उपयोगकर्ता के समय को बचाने के लिए है। यहाँ विंडोज 7 में मेरे लिए क्या काम किया है:: धन्यवाद enter image description hereजावा: बटन पर ओपन फ़ोल्डर

मैं इस सवाल का जवाब मिल गया है (नीचे छवि क्या फ़ायरफ़ॉक्स करता है से एक उदाहरण है) @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

आपका संपादित कोड एक NullPointerException फेंक सकता है, जब तक कि आप इसे 'if' कथन द्वारा संरक्षित ब्लॉक के अंदर नहीं खोलते। –

उत्तर

10

मुझे लगता है कि आपके पास एक फाइल है। java.awt.Desktop के साथ आप कुछ इस तरह का उपयोग कर सकते हैं:

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 रहो कि यदि आप एक फ़ाइल है कि कोई निर्देशिका है के साथ इस फोन कम से कम Windows फ़ाइल प्रकार के लिए डिफ़ॉल्ट प्रोग्राम के साथ फ़ाइल को खोलने की कोशिश करेंगे ।

लेकिन मुझे नहीं पता कि यह कौन सा प्लेटफॉर्म समर्थित है।

संबंधित मुद्दे