2013-05-28 20 views
13

Bir dosyada okumak için Java 7'nin özelliklerini kullanıyorum. Bu amaçla, Path türünde bir nesneye ihtiyacım var. Koduma, bir dosyaya göreli yolu (URL) almak için getResource() işlevini kullanın.Java 7: kaynağın yolunu alın (Yolun nesnesi olarak)

Ancak, şimdi File sonra URI için örneğin I dökümlerde üzerinden gitmek zorunda olmadan gerçekten artık kolayca tip Path (bir nesneye tip URL bir nesneden nasıl yok sorun var ve bundan Path'a)?

URL url = getClass().getResource("file.txt"); 
Path path = (new File(url.toURI())).toPath(); //is there an easier way? 
List<String> list = Files.readAllLines(path, Charset.defaultCharset()); 

Böylece elde etmek daha kolay bir yolu yoktur ve 2. hatta bu kod karışıklık yapmak zorunda değil: İşte

ben yapmak istiyorum ne size göstermek için bir örnek

?

cevap

15

Nasıl

Path path = Paths.get(url.toURI()); 

o sınıfyolundan kazanılmış ve dosya aslında bir kavanozun içinde olabilir, çünkü URL'nizden Dosya oluşturmak için uygun değildir

hakkında.

Scala yılında
1

Java'da

import java.nio.file.Paths 

val resource = getClass.getResource("myfile.txt") 
val path = Paths.get(resource.toURI) 

(biraz farklı sözdizimi ile) aynı olmalıdır olurdu
İlgili konular