java - URI.getPath() 在 '#' 之后不返回任何内容

标签 java uri

我有一个路径如下的 URI:

ftp://test:test@someftp/ready123/users/abc/#0#.

但是 URI 上的方法 getPath() 返回以下内容:

/ready123/users/abc/. 

我需要像这样返回整个路径:

/ready123/users/abc/#0#

...这样我就可以将工作目录(CWD)更改为文件夹#0#。该代码采用通用方法,并且被许多其他应用程序使用。所以当我做出改变时我必须非常小心。我相信 # 之后的任何内容都被视为片段,但在本例中它实际上是文件夹的名称。

如何从 URI 对象获取路径 /ready123/users/abc/#0#

最佳答案

来自 URI 类的 JavaDoc:

URI syntax and components At the highest level a URI reference (hereinafter simply "URI") in string form has the syntax

[scheme:]scheme-specific-part[#fragment] 

where square brackets [...] delineate optional components and the characters : and # stand for themselves.

因此,如果您想检索第一个 # 之后的所有内容,则需要使用 URI.getFragment()

关于java - URI.getPath() 在 '#' 之后不返回任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16300286/

相关文章:

java - ANTLR序列化

java - 从内部类访问通用外部类字段而不进行强制转换

http - 在 HTTP 中,仅提供路径作为 Request-URI 时是否允许查询?

android - 搜索特定的 Play 商店类别

java - GWT:SelectionChangeEvent.Handler 未检测到 CellTable 上行的取消选择

java - Sun PKCS#11 包装器如何调试 CKR_TEMPLATE_INCONSISTENT

java - Spring 数据休息: Tracking data changes in history tables

java - JSP 当前 URL

java - 当相对 URI 包含空路径时,Java 的 URI.resolve 是否与 RFC 3986 不兼容?

ssl - 我如何使用 Pharo 获取 Twitter 提要?