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, Filekullanarak nesneyi alabilirsiniz File.toPath(). Bunun yalnızca Java 7+ için olduğunu unutmayın. Java 6 ve önceki sürümleri yoktur.
PathJava 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
providergenelliklejava.io.Filesı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 .toPathjava.io.FiletoFileFileStringPath
(benimkini vurgula)
Yani, için toFile:
FileBu yolu temsil eden bir nesne döndürür .
Ve toPath:
java.nio.file.PathBu 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());