เป็นไปได้ที่จะได้รับวัตถุเส้นทางจากjava.io.File?
ฉันรู้ว่าคุณสามารถแปลงเส้นทางเป็นไฟล์โดยใช้toFile()วิธีการ แต่ฉันไม่พบการแปลงตรงข้าม มีวิธีการทำเช่นนี้ใน Java 6 หรือต่ำกว่า?
เป็นไปได้ที่จะได้รับวัตถุเส้นทางจากjava.io.File?
ฉันรู้ว่าคุณสามารถแปลงเส้นทางเป็นไฟล์โดยใช้toFile()วิธีการ แต่ฉันไม่พบการแปลงตรงข้าม มีวิธีการทำเช่นนี้ใน Java 6 หรือต่ำกว่า?
คำตอบ:
ใช่คุณจะได้รับจากวัตถุโดยใช้File File.toPath()โปรดทราบว่านี่สำหรับ Java 7+ เท่านั้น Java เวอร์ชัน 6 และต่ำกว่าไม่มี
Pathเปิดตัวใน Java 7 ดังนั้นน่าเสียดายที่ไม่มีวิธีการทำเช่นนี้ใน Java 6 และต่ำกว่า
จากเอกสารประกอบ :
เส้นทางที่เกี่ยวข้องกับการเริ่มต้น
providerโดยทั่วไปจะทำงานร่วมกันกับjava.io.Fileชั้นเรียน เส้นทางที่สร้างขึ้นโดยให้บริการอื่น ๆjava.io.Fileจะไม่น่าจะทำงานร่วมกันกับชื่อเส้นทางนามธรรมแสดงโดย วิธีอาจจะใช้เพื่อให้ได้เส้นทางจากชื่อเส้นทางนามธรรมแสดงโดยวัตถุ java.io.File เส้นทางที่เกิดขึ้นสามารถใช้ในการทำงานกับไฟล์เดียวกับ วัตถุ นอกจากนี้วิธีการที่เป็นประโยชน์ในการสร้างจากตัวแทนของtoPathjava.io.FiletoFileFileStringPath
(เน้นที่เหมือง)
ดังนั้นสำหรับtoFile:
ส่งคืน
Fileวัตถุที่เป็นตัวแทนของเส้นทางนี้
และtoPath:
ส่งคืน
java.nio.file.Pathวัตถุที่สร้างขึ้นจากเส้นทางนามธรรมนี้
File.toPath()คุณอาจต้องการ
ตามที่หลายคนแนะนำ JRE v1.7 ขึ้นไปมี File.toPath ();
File yourFile = ...;
Path yourPath = yourFile.toPath();
ในเอกสาร jdk 1.7ของ Oracle ซึ่งถูกกล่าวถึงในโพสต์อื่น ๆ ข้างต้นโค้ดที่เทียบเท่าดังต่อไปนี้ได้อธิบายไว้ในคำอธิบายสำหรับวิธี toPath () ซึ่งอาจใช้ได้กับ JRE v1.6;
File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());