2011-02-22 3 views

답변

1

나는 이것이 정확히 당신이 필요로한다고 믿습니다. 코드와 설명이 둘 다 있습니다. 다음과 같이 http://nadeausoftware.com/node/73

빠른 요약은 다음과 같습니다

  1. 생성자 public WebFile(String urlString)가하는 URLConnection을 여는 문자 인코딩을 포함하여 헤더에서 읽

    가 WebFile 클래스를 만듭니다. 인코딩이 존재하지 않으면 웹 페이지 자체에서 인코딩을 읽어야합니다. 이것이 없으면 행운을 빌어 볼 수도 있습니다. Character Encoding Detection Algorithm

  2. private Object readStream(int length, java.io.InputStream stream)private Object readStream(int length, java.io.InputStream stream)은 스트림에서 페이지 데이터를 읽고 문자 인코딩을 사용하여 return new String(bytes, charset)을 반환하거나 스트림을 읽음으로써 생성 된 바이트 배열을 반환합니다. 인코딩이 없거나 인코딩 예외가있는 경우
  3. 당신은 페이지의 콘텐츠에 대한 getter 및 setter를 (예 : 인코딩을 한 번만 readStream를 호출 반환)가
+2

외부 리소스에 대한 링크는 좋은 답변이 아닙니다. 링크가 잘못되어 쓸모 없게 될 수 있습니다. 당신은 당신의 답을 적어도 요약해야합니다. –

+0

@ Joachim Sauer : 해당 페이지의 완벽한 설명을 다시 작성하고 싶지는 않았지만 유효하지 않은 링크 시나리오는 생각하지 않았습니다. 고침, 고마워. –

2

열고 (URL.openConnection() 사용) URL 연결, ADN하여 getContentType()에 의해 반환 된 콘텐츠 형식을 구문 분석 메소드 (charset을 포함해야 함). 이 헤더에없는 경우 HTML 콘텐츠를 구문 분석하고 태그를 찾아야 할 수도 있습니다.

<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> 
+0

"해야 할 것 같습니다"를 "해야 할 것"으로 바꿀 것입니다. –

+0

'과 같은 XML 선언을 살펴 봐야합니다. (존재하는 경우 문서의 시작 부분에 있어야합니다.) –