URL
Birim testleri amacıyla yerel bir dosya kullanarak nasıl yeni bir nesne oluşturabilirim ?
URL
Birim testleri amacıyla yerel bir dosya kullanarak nasıl yeni bir nesne oluşturabilirim ?
Yanıtlar:
Java 7'yi kullanma:
Paths.get(string).toUri().toURL();
Ancak, muhtemelen bir URI
. Örneğin, a ile URI
başlar file:///
ancak ile bir URL file:/
(en azından, bu toString
üretir).
java.nio.file.Paths
. Ayrıca, lütfen "URI ve URL" deki uygulamaları kasteddiğinizden emin olun . Anway java.net.URL.toString()
, Unix'te olması gerektiği gibi aynı şeyi üretiyor. Çok yanlış olan yalnızca bir "/" görüntüler ( dosya URI şemasına bakın ). Sanırım bu Java nedeniyle nedenlerle, daha iyi kullanın java.net.URI
. Çağrıldığında doğru şekilde "file: // [host] /" oluşturur .toString()
.
new URL("file:///your/file/here")
/your/file/here
Unix / Linux'taki bir dosyaya giden mutlak bir yoldur. Windows'da farklı olacağını düşünüyorum.
new URL("file:my.properties");
File myFile=new File("/tmp/myfile");
URL myUrl = myFile.toURI().toURL();
tam sözdizimi için bir göz atın: http://en.wikipedia.org/wiki/File_URI_scheme
unix benzeri sistemler için @Alex'in söylediği gibi file:///your/file/here
, Windows sistemleri için isefile:///c|/path/to/file
File.toURI().toURL()
gitmek için yoldur
.properties
dosyada olduğu gibi bir seçeneğiniz yoktur .
java file url
, bu durumda benim durumumda bir file://
URL'nin biçimini, Java'da, bir .properties
dosyada kullanmak veya manuel olarak yazmak vb. İçin arama yaptığım anlamına gelir .
file://
maalesef gereklidir. Sisteme bağımlı olmak, değişebilir bir özellik olduğu için büyük bir mesele değildir.
Ayrıca kullanabilirsiniz
[AnyClass].class.getResource(filePath)
jar:file:/home/user/a/b/c/foo.jar!/com/example/stuff/config.txt
.