2013-06-20 2 views
3

는 자바 서버 부하 이미지에서 이미지 URL을 받아 안드로이드 응용 프로그램을 핵 물질 I'am 내가이 얻을 서버 응답을받은 후 그것을java.net.URISyntaxException : 인덱스 기법에 잘못된 문자가 0

를 표시 오류

java.net.URISyntaxException: Illegal character in scheme at index 0: http://farm1.static.flickr.com/131/371306796_7e18d505fb_b.jpg 

이 문제를 해결하는 방법?

답변

11

이 URL에 공백이 볼 수 있듯이 :

는 "http://farm1.static.flickr.com/131/371306796_7e18d505fb_b.jpg"

가 어떻게이 문제를 해결하기 위해이?

아마도 공간을 제거하면 문제가 해결됩니다.

+0

trim() 메서드가있는 것은 어쩌면? beacuse 나는 수동으로 제거 할 수 없다. 나는 이것을 시도 할 것이다 – nawara

+2

@nawara'trim()'이이 경우에 가장 잘 작동 할 것이지만, 이것은 내가'증상을 치료하려고하는 의사이다 .'라고 부른다. 그것에 더 많은 시간을 할애한다면, 원인을 고치려고 노력하십시오 (파서 서버가 공간을 가지고 URL을 보내는 것인가?). –

3

java.net.URI 클래스가 도움이 될 수 있습니다. URL의 문서에서 찾을 수 있습니다.

URI 클래스는 특정 상황에서 구성 요소 필드의 이스케이프 처리를 수행합니다.

URI uri = new URI(
    "http", 
    "http://farm1.static.flickr.com", 
    "/131/371306796_7e18d505fb_b.jpgf", 
    null); 
URL url = uri.toURL(); 

URI의 단일 인수 생성자는하지 않습니다 : 인코딩 및 URL의 디코딩을 관리하기 위해 권장되는 방법처럼 URI에 하나 개 이상의 인수와 함께 생성자의

하나를 사용하여 사용하는 것입니다 불법 문자를 이스케이프

관련 문제