2013-04-30 2 views
0

'#의'후 아무것도 반환하지 않습니다URI.getPath()이 같은 경로로 나는 URI를

ftp://test:[email protected]/ready123/users/abc/#0#. 

하지만를 URI의 방법 getPath()이 반환

/ready123/users/abc/. 

I 전체 경로를 필요로하는 것은 다음과 같이 반환되는 :

/ready123/users/abc/#0# 

을 ... 내가 폴더 # 0 작업 디렉토리 (CWD)을 변경할 수 있도록 #. 이 코드는 제네릭 메소드에 있으며 많은 다른 어플리케이션에서 사용되는 jarred입니다. 그래서 나는 변화를 할 때 매우주의해야합니다. 나는 #이 조각으로 간주 된 후에 아무것도 믿는다. 그러나이 경우 실제로는 폴더의 이름이다.

URI 개체에서 경로 /ready123/users/abc/#0#을 얻으려면 어떻게해야합니까?

+1

코드 조각 돕는 동안 정말 도움이 사용할 필요가 첫 번째 # 후 모든 것을 검색 할 경우. –

답변

0

당신은 URI 클래스의 JavaDoc을에서 % 23

URI uir = new URI("ftp://test:[email protected]/ready123/users/abc/%230%23"); 
System.out.println(uir.getPath()); // returns '/ready123/users/abc/#0#' 
+2

...하지만 해시와 그 뒤에 오는 물건이 경로의 일부가되도록 의도 된 것이고 조각 문자열이 아닌 경우에만 해당됩니다. –

1

와 해시 문자를 교체해야합니다 : 최고 수준의

URI의 구문과 구성 요소 URI 참조 (이하, 단순히 "URI")는 구문이 있습니다.

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

여기서 대괄호 [...]는 선택적 구성 요소를 나타내고 문자는 윤곽을 나타냅니다. 이와 같이

당신은 당신이 URI.getFragment()

관련 문제