Sam*_*1Am 15 java windows uri file-uri
我正在处理的应用程序涉及访问网络文件共享上的文件,我们使用URI来指定文件的位置.
我对文件的理解:URI是它们应该采用file://
+ path的形式.对于Windows网络共享,此路径看起来像\\servername\dir\file
,因此生成的URI成为file:////servername/dir/file
.
这似乎对Java的URI类很有用,但Win32 API似乎需要一个file://servername/dir/file
样式URI,Java拒绝它,因为它"具有权限组件".
我是否正确理解网络共享URI?是否有另一种方法来指定没有Java抱怨权限的路径?
编辑:我们希望能够将路径存储为URI,以便利用URI的scheme-part来指定其他位置(例如file:versus other :).但正如所指出的,看起来Java可能只有自己的URI问题......
dtb*_*dtb 16
看来Java错了:
不正确:
file:////applib/products/a%2Db/abc%5F9/4148.920a/media/start.swf
正确:file://applib/products/a-b/abc_9/4148.920a/media/start.swf
URI类合理地处理UNC路径,但是有一些问题.在Java类库中,UNC路径的字符串表示形式如下:
Run Code Online (Sandbox Code Playgroud)new File("//SERVER/some/path").toURI().toString() -> "file:////SERVER/some/path
换句话说,URI将整个UNC路径存储在URI的路径组件中,并使服务器/授权组件保持为空.只要您始终使用此字符串表示形式,您就能够与java.net.URI成功交互.
归档时间: |
|
查看次数: |
8867 次 |
最近记录: |