Bir Path nesnesini bir alandan almak mümkün mü java.io.File
?
Bir yolu kullanarak bir dosyaya yol dönüştürebileceğini biliyorum toFile()
, ama tam tersini bulamadım. Java 6 veya daha düşük bir sürümde bunu yapmanın bir yolu var mı?
Bir Path nesnesini bir alandan almak mümkün mü java.io.File
?
Bir yolu kullanarak bir dosyaya yol dönüştürebileceğini biliyorum toFile()
, ama tam tersini bulamadım. Java 6 veya daha düşük bir sürümde bunu yapmanın bir yolu var mı?
Yanıtlar:
Evet, File
kullanarak nesneyi alabilirsiniz File.toPath()
. Bunun yalnızca Java 7+ için olduğunu unutmayın. Java 6 ve önceki sürümleri yoktur.
Path
Java 7'de tanıtıldı, bu yüzden maalesef bunu Java 6 ve aşağısında yapmanın bir yolu yok.
Gönderen belgeler :
Varsayılanla ilişkilendirilen yollar
provider
genelliklejava.io.File
sınıfla birlikte çalışabilir . Diğer sağlayıcılar tarafından oluşturulan yolların, temsil ettiği soyut yol adlarıyla birlikte çalışma olasılığı düşüktürjava.io.File
. Yöntem, bir java.io.File nesne ile temsil edilen arka yol adı, bir yolu elde etmek üzere kullanılabilmektedir. Ortaya çıkan Yol, nesne ile aynı dosya üzerinde çalışmak için kullanılabilir . Buna ek olarak, yöntem, bir yapı yararlıdır gelen bir temsili .toPath
java.io.File
toFile
File
String
Path
(benimkini vurgula)
Yani, için toFile
:
File
Bu yolu temsil eden bir nesne döndürür .
Ve toPath
:
java.nio.file.Path
Bu soyut yoldan oluşturulmuş bir nesneyi döndürür .
Muhtemelen istiyorsun File.toPath()
.
Birçoğunun önerdiği gibi, JRE v1.7 ve üstü File.toPath ();
File yourFile = ...;
Path yourPath = yourFile.toPath();
Yukarıdaki diğer yazılarda da bahsedilen Oracle'ın jdk 1.7 belgelerinde , aşağıdaki eşdeğer kod, JRE v1.6 için çalışabilecek toPath () yönteminin açıklamasında açıklanmıştır;
File yourFile = ...;
Path yourPath = FileSystems.getDefault().getPath(yourFile.getPath());