URLBirim testleri amacıyla yerel bir dosya kullanarak nasıl yeni bir nesne oluşturabilirim ?
URLBirim 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 URIbaş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/hereUnix / 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
.propertiesdosyada olduğu gibi bir seçeneğiniz yoktur .
java file url, bu durumda benim durumumda bir file://URL'nin biçimini, Java'da, bir .propertiesdosyada 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.