2013-03-19 5 views
135

प्राप्त करें क्या java.io.File से पथ ऑब्जेक्ट प्राप्त करना संभव है?java.ioio.file.Path ऑब्जेक्ट java.io.File

मुझे पता है कि आप toFile() विधि का उपयोग कर फ़ाइल में पथ को रूपांतरित कर सकते हैं, लेकिन मुझे विपरीत रूपांतरण नहीं मिला। जावा 6 या उससे कम में ऐसा करने का कोई तरीका है?

+0

हैव आपने एपीआई दस्तावेज को देखा? –

+0

हां, मैंने संकल्प और संकल्प सिब्लिंग विधियों को देखा, लेकिन यह फ़ाइल (या स्ट्रिंग) से पथ में बिल्कुल परिवर्तित नहीं हुआ, बल्कि इसे एक तरह से समझा गया। – Karlovsky120

+1

यहां [प्रलेखन] (http://docs.oracle.com/javase/7/docs/api/java/io/File.html#toPath()) @VivinPaliath भी संकेत दे रहा है। – Perception

उत्तर

173

हां, आप इसे ऑब्जेक्ट से File.toPath() का उपयोग करके प्राप्त कर सकते हैं। ध्यान रखें कि यह केवल जावा 7+ के लिए है। जावा संस्करण 6 और नीचे के पास यह नहीं है।

+1

क्या जावा 6 या उससे कम में इसे प्राप्त करने का कोई तरीका है? – Karlovsky120

+4

'पथ' जावा 7 में पेश किया गया था, इसलिए दुर्भाग्यवश जावा 6 और नीचे में ऐसा करने का कोई तरीका नहीं है। –

29

the documentation से:

डिफ़ॉल्ट provider के साथ जुड़े पथ आम तौर पर अंतर-संचालित java.io.File वर्ग के साथ कर रहे हैं। अन्य प्रदाताओं द्वारा बनाए गए पथ द्वारा java.io.File द्वारा अमूर्त पथ नामों के साथ अंतःक्रियाशील होने की संभावना नहीं है। toPath विधि का उपयोग से पथ प्राप्त करने के लिए किया जा सकता है, जो java.io.File ऑब्जेक्ट द्वारा दर्शाए गए सार पथ का नाम है। परिणामस्वरूप पथ को उसी फ़ाइल पर java.io.File ऑब्जेक्ट के रूप में संचालित करने के लिए उपयोग किया जा सकता है। इसके अलावा, toFile विधि Path के प्रतिनिधित्व से File बनाने के लिए उपयोगी है।

(जोर मेरा)

तो, toFile के लिए:

रिटर्न एक File वस्तु इस पथ का प्रतिनिधित्व।

और toPath:

एक java.nio.file.Path वस्तु इस सार पथ का निर्माण देता है।

+1

वह विपरीत चाहता है। –

+3

@Vivin एपीआई दोनों प्रदान करता है ... – wchargin

+0

मैं उस पर विवाद नहीं करता :)। मैं बस ओपी चाहता था कि क्या उल्लेख कर रहा था। –

5

जैसा कि कई ने सुझाव दिया है, जेआरई v1.7 और ऊपर फ़ाइल.toPath() है;

File yourFile = ...; 
Path yourPath = yourFile.toPath(); 

Oracle की jdk 1.7 documentation पर जो भी ऊपर अन्य पदों में बताया गया है, तो निम्न बराबर कोड toPath() विधि है, जो JRE v1.6 के लिए काम कर सकते हैं के लिए उसके वर्णन है;

File yourFile = ...; 
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath()); 
संबंधित मुद्दे