java URL java.net.URL 클래스 의 사용 에 대한 자세 한 설명 URL 전의 해결 URL 중국어 문자

6030 단어 자바
클래스URL통 일 된 자원 포 지 셔 닝 부 호 를 대표 하 는데 이것 은 인터넷 의'자원'을 가리 키 는 지침 이다.자원 은 간단 한 파일 이나 디 렉 터 리 일 수도 있 고 더 복잡 한 대상 에 대한 참조 일 수도 있 습 니 다.즉,우리 가 흔히 말 하 는 도 메 인 이름,브 라 우 저 방문 주소 입 니 다.
자바 에 서 는 URL 로 네트워크 자원 을 방문 하여 url 대상 에 대한 정 보 를 얻 습 니 다.
구체 적 으로 사용
1.구조 방법,일반적으로 많이 사용 하 는 것 은 아래 두 가지 입 니 다.api 를 참조 할 수 있 습 니 다.
http://www.javaweb.cc/help/JavaAPI1.6/index.html?java/nio/ReadOnlyBufferException.html URL(String spec)             근거  String  형식 생 성  URL  대상URL(String protocol, String host, int port, String file)             지정 에 근거 하 다  protocolhostport  번호  file  창설  URL  대상
public URL(String spec) throws MalformedURLException {
        this(null, spec);
    }

URL 대상 을 만 들 려 면 MalformedURLException 이상 을 포착 해 야 합 니 다.URL 에 결함 이 있 을 수 있 습 니 다.
2.방법 String getAuthority()             이것 가 져 오기  URL  의 권한 수여 부분. Object getContent()             이 URL 의 내용 을 가 져 옵 니 다. Object getContent(Class[] classes)             이 URL 의 내용 을 가 져 옵 니 다. int getDefaultPort()             가 져 오기  URL  관련 프로 토 콜 의 기본 포트 번호 입 니 다. String getFile()             이것 가 져 오기  URL  파일 이름 String getHost()             이것 가 져 오기  URL  호스트 이름 String getPath()             이것 가 져 오기  URL  의 경로 부분. int getPort()             이것 가 져 오기  URL  포트 번호 String getProtocol()             이것 가 져 오기  URL  프로 토 콜 이름 String getQuery()             이것 가 져 오기  URL  의 조회 부분. String getRef()             이것 가 져 오기  URL  의 닻 점. String getUserInfo()             이것 가 져 오기  URL  의 userInfo 부분. int hashCode()             해시 표 색인 에 맞 는 정 수 를 만 듭 니 다. URLConnection openConnection()             하나 되 돌리 기  URLConnection  대상  URL  인 용 된 원 격 대상 의 연결. URLConnection openConnection(Proxy proxy)             openConnection()과 유사 하 며 연결 은 지정 한 프 록 시 를 통 해 이 루어 집 니 다.프 록 시 방식 이 지원 되 지 않 는 프로 토 콜 처리 프로그램 은 이 프 록 시 인 자 를 무시 하고 정상 적 인 연결 을 만 듭 니 다. InputStream openStream()             여 기 를 엽 니 다.  URL  이 연결 에서 읽 을 연결 을 되 돌려 줍 니 다.  InputStream boolean sameFile(URL other)             세 션 부분 을 포함 하지 않 고 두 URL 을 비교 합 니 다.protected  void set(String protocol, String host, int port, String file, String ref)             URL 의 필드 를 설정 합 니 다.protected  void set(String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)             URL 에 지정 한 8 개의 필드 를 설정 합 니 다.static void setURLStreamHandlerFactory(URLStreamHandlerFactory fac)             프로그램의 설정  URLStreamHandlerFactory String toExternalForm()             구조  URL  의 문자열 표시 형식 입 니 다. String toString()             구조  URL  의 문자열 표시 형식 입 니 다. URI toURI()             이 URL 과 같은 효 과 를 되 돌려 줍 니 다.  URI
 
구체 적 인 사용:
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;

public class URLTest {
    public static void UrlTest(){
        try {
            //     URL  
            URL url = new URL("http://www.imooc.com");
            System.out.println("  :" + url.getProtocol());
            System.out.println("  :" + url.getHost());
            System.out.println("  :" + url.getAuthority());
            System.out.println("  :" + url.getContent());
            System.out.println("  :" + url.getPort());
            System.out.println("    :" + url.getPath());
            System.out.println("   :" + url.getFile());
            System.out.println("    :" + url.getRef());
            System.out.println("     :" + url.getQuery());
        } catch (MalformedURLException ex) {
            ex.printStackTrace();
        } catch (IOException ex) {
            ex.printStackTrace();
        }catch (Exception ex){
            ex.printStackTrace();
        }
    }
}

 
3.URL 전의 중국어 포함 URL 변환
package i.publicclasslib;
/**
 *      URL 
 * @author CYZ
 *
 */
public class ChineseToUrl {
	/**
	 * 
	 * @param s        URL
	 * @return     ,  URL 
	 */
	public static String ChineseToUrls(String s){
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < s.length(); i++) {
			char c = s.charAt(i);
			if (c >= 0 && c <= 255) {
				sb.append(c);
			} else {
				byte[] b;
				try {
                    //         
					b = String.valueOf(c).getBytes("utf-8");
				} catch (Exception ex) {
					System.out.println(ex);
					b = new byte[0];
				}
				for (int j = 0; j < b.length; j++) {
					int k = b[j];
					if (k < 0)
						k += 256;
					sb.append("%" + Integer.toHexString(k).toUpperCase());
				}
			}
		}
		return sb.toString();
	}
}

4.추 후 다른 내용 을 계속 업데이트 합 니 다.

좋은 웹페이지 즐겨찾기