Java.nio.file.Path ऑब्जेक्ट को java.io.File से प्राप्त करें


215

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

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


हाए आपने एपीआई दस्तावेज को देखा?
विविन पालीथ

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

1
यहाँ प्रलेखन @VivinPaliath भी आवंटित है।
धारणा

1
यह मुझे अचंभित करता है कि कैसे बेवकूफ सवाल संभव है (मेरा मतलब है, चलो, यह प्रलेखन में था, लघु Google खोज ने इसका उत्तर दिया होगा) मुझे साइट पर सबसे अधिक अंक दिए जा रहे हैं। : डी
कार्लोवस्की १२

@ Karlovsky120 आपको यह अचंभित नहीं करना चाहिए यदि आप इसे स्वयं Google करने का प्रयास करेंगे;)
9ilsdx 9rvj 0lo

जवाबों:


288

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


1
जावा 6 या निम्न में इसे प्राप्त करने का कोई तरीका है?
कार्लोवस्की १२

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

33

से प्रलेखन :

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

(जोर मेरा)

तो, इसके लिए toFile:

Fileइस पथ का प्रतिनिधित्व करने वाली एक वस्तु देता है ।

और toPath:

java.nio.file.Pathइस अमूर्त पथ से निर्मित वस्तु लौटाता है ।


1
वह विपरीत चाहता है।
विविन पालीथ

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


10

जैसा कि कई ने सुझाव दिया है, JRE v1.7 और ऊपर File.toPath () है;

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

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

File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.