เป็นไปได้ที่จะได้รับวัตถุเส้นทางจาก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 เส้นทางที่เกิดขึ้นสามารถใช้ในการทำงานกับไฟล์เดียวกับ วัตถุ นอกจากนี้วิธีการที่เป็นประโยชน์ในการสร้างจากตัวแทนของtoPath
java.io.File
toFile
File
String
Path
(เน้นที่เหมือง)
ดังนั้นสำหรับ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());