JavaTM Platform
Standard Ed. 6

java.net
클래스 URL

java.lang.Object 
  상위를 확장 java.net.URL
모든 구현된 인터페이스:
Serializable


public final class URL
extends Object
implements Serializable

URL 클래스는, Uniform Resource Locator (유니폼 자원 locator), 즉 World Wide Web 상의 「자원」에의 포인터를 나타냅니다. 자원은, 파일이나 디렉토리와 같이 단순한 것임도, 데이타베이스나 검색 엔진에 대한 쿼리 등, 보다 복잡한 객체에의 참조인 일도 있습니다. URL 의 종류나 형식의 상세한 것에 대하여는, 다음을 참조해 주세요.

http://www.socs.uts.edu.au/MosaicDocs-old/url-primer.html

일반적으로, URL 는 몇개의 부분 으로 분해할 수 있습니다. 앞의 예의 URL 는, 사용해야 할 프로토콜이 http (HyperText Transfer Protocol)인 것으로,www.socs.uts.edu.au 라는 이름의 호스트 머신상에 정보가 존재하고 있는 것을 나타내고 있습니다. 그 호스트 머신상의 정보에는,/MosaicDocs-old/url-primer.html 라는 이름이 붙일 수 있고 있습니다. 호스트 머신상에 있어서의 이 이름의 정확한 의미는, 프로토콜과 호스트의 양쪽 모두에 의존합니다. 일반적으로는 정보는 파일내에 보존되고 있습니다만, 동적으로 생성되는 경우도 있습니다. URL 의 이러한 부분은 패스 컴포넌트로 불립니다.  

URL 에는 옵션으로 「포트」를 지정할 수 있습니다. 이것은, TCP 접속의 확립처가 되는, 원격 호스트 머신상의 포트 번호입니다. 포트를 지정하지 않았던 경우는, 대신에 프로토콜의 디폴트 포트가 사용됩니다. 예를 들어,http 의 디폴트 포트는 80 입니다. 다음과 같이 다른 포트를 지정할 수도 있습니다.

     http://www.socs.uts.edu.au:80/MosaicDocs-old/url-primer.html
 

URL 의 구문은,「RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax」 로 정의되어「RFC 2732: Format for Literal IPv6 Addresses in URLs」 로 수정되고 있습니다. 리터럴 IPv6 주소 형식에서는 스코프 ID 도 지원됩니다. 스코프 ID 의 구문이나 사용 방법에 대해서는,여기를 참조해 주세요.  

URL 에는 「fragment」( 「ref」또는 「참조 (reference)」라고도 부른다)를 추가할 수 있습니다. fragment는, 샤프 기호 문자 「#」이라고 거기에 계속되는 몇개의 문자에 의해 나타납니다. 다음에 예를 나타냅니다.

     http://java.sun.com/index.html#chapter1
 

본래는, 이 fragment는 URL 의 일부에서는 없습니다. 예를 들어, 위에 나타낸 fragment는, 지정된 자원을 취득한 뒤, 그 문서 중(안)에서 chapter1 라고 하는 태그가 붙어 있는 부분을 어플리케이션에 의한 처리의 대상으로 하는 것을 나타냅니다. 태그의 의미는 자원에 따라서 다릅니다.  

어플리케이션은 「상대 URL」를 지정할 수도 있습니다. 이 URL 에는, 다른 URL 를 기준으로서 자원을 검색하는데 필요한 정보 밖에 포함되어 있지 않습니다. 상대 URL 는 HTML 페이지내에서 자주(잘) 사용됩니다. 예를 들어, 다음의 URL 가 있다고 합니다.

     http://java.sun.com/index.html
 
이 HTML 페이지안에 다음의 상대 URL 가 포함되어 있다고 합니다.
     FAQ.html
 
이것은 다음의 URL 의 단축형이라고 보여집니다.
     http://java.sun.com/FAQ.html
 

상대 URL 에서는, URL 의 모든 컴퍼넌트를 지정할 필요는 없습니다. 프로토콜이나 호스트명, 포트 번호를 생략 했을 경우에는, 모든 컴퍼넌트가 지정되고 있는 URL 로부터 값이 상속됩니다. 파일 컴퍼넌트는 지정하지 않으면 안됩니다. 옵션지정의 fragment는 상속되지 않습니다.  

URL 클래스 자체가 RFC2396 에 정의된 이스케이프 기구에 따라 URL 컴퍼넌트의 encode나 디코드를 실시할 것은 없습니다. URL 의 호출전에 이스케이프의 필요한 모든 필드를 encode 해 두는 것은, 호출원의 책임입니다. URL 로부터 반환된 모든 이스케이프가 끝난 필드를 디코드하는 일도, 같습니다. 게다가 URL 는, URL 이스케이프의 지식을 가지지 않기 때문에, 같은 URL 의 encode 된 형식과 디코드된 형식의 등가성을 판단할 수 없습니다. 예를 들어, 다음의 2 개의 URL 가 있다고 합니다.

    http://foo.com/hello world/ 와 http://foo.com/hello%20world
이것들은, 서로 동일하지 않다고 보입니다.  

URI 클래스는 특정의 상황에 있어, 그 컴퍼넌트 필드에 대해서 이스케이프 처리를 실행하는 것에 주의해 주세요.. URL 의 encode와 디코드를 관리할 때의 추천의 방법은,URI 를 사용해, 이것들 2 개의 클래스간의 변환을 toURI()URI.toURL() 를 사용해 실시하는 것입니다.  

URLEncoder 클래스와 URLDecoder 클래스를 사용할 수도 있습니다만, 이것들은 HTML 형식의 인코딩 전용입니다. 또, 이 인코딩은, RFC2396 로 정의되고 있는 인코딩 방식과 같은 것이 아닙니다.

도입된 버젼:
JDK1. 0
관련 항목:
직렬화 된 형식

생성자 의 개요
URL (String  spec)
          String 표현으로부터 URL 객체를 생성합니다.
URL (String  protocol, String  host, int port, String  file)
          지정된 protocol,host,port 번호, 및 file 로부터 URL 객체를 생성합니다.
URL (String  protocol, String  host, int port, String  file, URLStreamHandler  handler)
          지정된 protocol,host,port 번호,file, 및 handler 로부터 URL 객체를 생성합니다.
URL (String  protocol, String  host, String  file)
          지정된 protocol 명,host 명, 및 file 명으로부터 URL 를 작성합니다.
URL (URL  context, String  spec)
          지정된 문맥내의 지정된 스펙으로 구문 분석 하는 것에 의해, URL 를 생성합니다.
URL (URL  context, String  spec, URLStreamHandler  handler)
          지정된 문맥내의 지정된 핸들러로, 지정된 스펙을 구문 분석 해 URL 를 생성합니다.
 
메소드의 개요
 boolean equals (Object  obj)
          이 URL 와 다른 객체가 동일한지 어떤지를 비교합니다.
 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 의 사용자 정보부분을 가져옵니다.
 int hashCode ()
          해시 테이블의 인덱스부에 적절한 int 치를 작성합니다.
 URLConnection openConnection ()
          URL 가 참조하는 원격 객체에의 접속을 나타내는 URLConnection 객체를 돌려줍니다.
 URLConnection openConnection (Proxy  proxy)
          openConnection()와 거의 같습니다만, 접속의 확립이 지정된 프록시 경유로 행해지는 점이 다릅니다.
 InputStream openStream ()
          이 URL 에의 접속을 오픈해, 그 접속으로부터 read를 행하기 위한 InputStream 를 돌려줍니다.
 boolean sameFile (URL  other)
          fragment 컴퍼넌트 이외의 2 개의 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 를 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

생성자 의 상세

URL

public URL(String  protocol,
           String  host,
           int port,
           String  file)
    throws MalformedURLException 
지정된 protocol,host,port 번호, 및 file 로부터 URL 객체를 생성합니다.

host 는, 호스트명, 리터럴 IP 주소의 어느쪽이든으로서 표현할 수 있습니다. IPv6 리터럴 주소를 사용하는 경우는,「RFC 2732」로 지정되고 있도록(듯이), 주소를 꺽쇄묶음 (「[」「]」)으로 둘러쌀 필요가 있습니다. 다만,「RFC 2373: IP Version 6 Addressing Architecture」로 정의되고 있는 리터럴 IPv6 주소 형식도, 사용 가능합니다.

port 번호 -1 의 지정은, URL 가 프로토콜의 디폴트의 포트를 사용하는 것을 나타냅니다.

지정된 프로토콜로 최초로 URL 객체를 생성할 경우에는, 그 프로토콜을 위한 스트림 프로토콜 핸들러 객체가 생성됩니다. 이 스트림 프로토콜 핸들러 객체는,URLStreamHandler 클래스의 인스턴스입니다.

  1. 이전에 어플리케이션이 URLStreamHandlerFactory 의 인스턴스를 스트림 핸들러 팩토리로서 설정해 있는 경우는, 그 인스턴스의 createURLStreamHandler 메소드가 프로토콜 캐릭터 라인을 인수로서 불려 가, 스트림 프로토콜 핸들러를 작성한다
  2. 아직 URLStreamHandlerFactory 가 설정되어 있지 않은 경우, 혹은 팩토리의 createURLStreamHandler 메소드가 null 를 돌려주었을 경우는, 생성자 이 다음의 시스템 프로퍼티의 값을 찾는다
             java.protocol.handler.pkgs
         
    이 시스템 프로퍼티의 값이 null 가 아니면, 값은, 수직 slash 문자 「|」으로 단락지어진, 패키지의 리스트로서 해석된다. 생성자 은 다음의 이름을 가지는 클래스를 로드하려고 한다.
             <package>. <protocol>.Handler
         
    여기서, <package> 에는 패키지의 이름이 들어가, <protocol> 에는 프로토콜의 이름이 들어간다. 이 클래스가 존재하지 않는 경우, 혹은 클래스는 존재해도 그것이 URLStreamHandler 의 서브 클래스가 아닌 경우에는, 리스트에 있는 다음의 패키지를 시험하게 된다.
  3. 이상의 순서에서도 프로토콜 핸들러가 발견되지 않았던 경우, 생성자 은 시스템의 디폴트 패키지로부터 로드하려고 한다.
             <system default package>. <protocol>.Handler
         
    이 클래스가 존재하지 않는 경우, 혹은 클래스는 존재해도 그것이 URLStreamHandler 의 서브 클래스가 아닌 경우에는,MalformedURLException 가 throw 된다.

다음의 프로토콜의 프로토콜 핸들러는, 검색 패스상에 존재하는 것이 보증되고 있습니다.

     http, https, ftp, file, and jar
 
그 외의 프로토콜의 프로토콜 핸들러도 사용 가능하게 되어 있을 가능성이 있습니다.

이 생성자 에 의한 입력의 검증은 실행되지 않습니다.

파라미터:
protocol - 사용하는 프로토콜명
host - 호스트명
port - 호스트상에서의 포트 번호
file - 호스트상의 파일
예외:
MalformedURLException - 미지의 프로토콜로서 지정되었을 경우
관련 항목:
System.getProperty(java.lang.String) , java.net.URL#setURLStreamHandlerFactory(, URLStreamHandler , java.net.URLStreamHandlerFactory#createURLStreamHandler(

URL

public URL(String  protocol,
           String  host,
           String  file)
    throws MalformedURLException 
지정된 protocol 명,host 명, 및 file 명으로부터 URL 를 작성합니다. 지정된 프로토콜의 디폴트 포트가 사용됩니다.  

이 메소드의 기능은, 인수에 protocol,host,-1,file 를 지정해 4 개의 인수를 받는 생성자 을 호출하는 것과 같습니다. 이 생성자 에 의한 입력의 검증은 실행되지 않습니다.

파라미터:
protocol - 사용하는 프로토콜명
host - 호스트명
file - 호스트상의 파일
예외:
MalformedURLException - 미지의 프로토콜로서 지정되었을 경우
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String,

URL

public URL(String  protocol,
           String  host,
           int port,
           String  file,
           URLStreamHandler  handler)
    throws MalformedURLException 
지정된 protocol,host,port 번호,file, 및 handler 로부터 URL 객체를 생성합니다. port 번호 -1 의 지정은, URL 가 프로토콜의 디폴트의 포트를 사용하는 것을 나타냅니다. handlernull 를 지정했을 경우, 그것은, java.net.URL#URL(java.lang.String, java.lang.String, int, java.lang.String)로 개설한 프로토콜의 디폴트 스트림 핸들러를, URL 가 사용해야 하는 것을 나타냅니다.

핸들러가 null 는 아니고, 시큐리티 매니저가 존재하는 경우,NetPermission("specifyStreamHandler") 액세스권을 지정해 시큐리티 매니저의 checkPermission 메소드가 불려 갑니다. 그 결과, SecurityException 가 발생하는 일이 있습니다. 이 생성자 에 의한 입력의 검증은 실행되지 않습니다.

파라미터:
protocol - 사용하는 프로토콜명
host - 호스트명
port - 호스트상에서의 포트 번호
file - 호스트상의 파일
handler - URL 의 스트림 핸들러
예외:
MalformedURLException - 미지의 프로토콜로서 지정되었을 경우
SecurityException - 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPermission 메소드가 스트림 핸들러의 명시적인 지정을 허가하지 않는 경우
관련 항목:
System.getProperty(java.lang.String) , java.net.URL#setURLStreamHandlerFactory(, URLStreamHandler , java.net.URLStreamHandlerFactory#createURLStreamHandler(, SecurityManager.checkPermission(java.security.Permission) , NetPermission

URL

public URL(String  spec)
    throws MalformedURLException 
String 표현으로부터 URL 객체를 생성합니다.  

이 생성자 은, 1 번째의 인수에 null 를 지정해, 인수가 2 개의 생성자 을 호출하는 것과 같습니다.

파라미터:
spec - URL 로서 구문 분석 되는 String
예외:
MalformedURLException - 캐릭터 라인으로 지정된 프로토콜이 미지인 경우
관련 항목:
URL(java.net.URL, java.lang.String)

URL

public URL(URL  context,
           String  spec)
    throws MalformedURLException 
지정된 문맥내의 지정된 스펙으로 구문 분석 하는 것에 의해, URL 를 생성합니다. 새로운 URL 는, RFC2396 의 「Uniform Resource Identifiers : Generic * Syntax」의 설명에 따라, 지정된 문맥 URL 와 spec 인수로부터 작성됩니다.
          <scheme>://<authority><path>? <query>#<fragment>
 
참조는 schema, 기관, 패스, 쿼리, 및 fragment의 각 부분에 구문 분석 됩니다. 패스 컴포넌트가 빈 상태(empty)에서 schema, 기관, 및 쿼리의 각 컴퍼넌트가 미정도리의 경우, 새로운 URL 가 현재의 문서에의 참조가 됩니다. 그 이외의 경우는, 스펙의 fragment 부분과 쿼리부분이 새로운 URL 에 사용됩니다.  

지정된 스펙으로 schema 컴퍼넌트가 정의되어 그 schema 컴퍼넌트가 문맥의 schema와 일치하지 않는 경우, 스펙인 만큼 기초를 두는 절대 URL 로서 새로운 URL 가 생성됩니다. 그렇지 않은 경우는, schema 컴퍼넌트는 문맥 URL 를 상속합니다.  

기관 컴퍼넌트가 스펙에 있는 경우에는, 스펙은 절대적인 것으로 해 다루어져 스펙의 기관과 패스는 문맥의 기관과 패스를 치환합니다. 스펙에 기관 컴퍼넌트가 없는 경우, 새로운 URL 의 기관은 문맥을 상속합니다.  

스펙의 패스 컴포넌트가 slash 문자 "/" 로 시작되는 경우, 패스는 절대적인 것으로 해 다루어져 스펙의 패스가 문맥의 패스를 치환합니다.  

그 이외의 경우, RFC2396 로 설명되고 있도록(듯이), 패스는 상대 패스로 해서 다루어져 문맥 패스에 추가됩니다. 또, 이 경우, 「..」 및 「.」에 의해 행해진 디렉토리 변경을 삭제하는 것으로, 패스는 정규화됩니다.  

URL 구문 분석의 상세한 설명에 대해서는, RFC2396 를 참조해 주세요.

파라미터:
context - 스펙을 구문 분석 하는 문맥
spec - URL 로서 구문 분석 되는 String
예외:
MalformedURLException - 프로토콜이 지정되어 있지 않은지, 미지의 프로토콜이 발견되었을 경우
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String,, URLStreamHandler , java.net.URLStreamHandler#parseURL(java.net.URL,

URL

public URL(URL  context,
           String  spec,
           URLStreamHandler  handler)
    throws MalformedURLException 
지정된 문맥내의 지정된 핸들러로, 지정된 스펙을 구문 분석 해 URL 를 생성합니다. 핸들러가 null 의 경우, 2 개의 인수를 취하는 생성자 과 같은 해석을 합니다.

파라미터:
context - 스펙을 구문 분석 하는 문맥
spec - URL 로서 구문 분석 되는 String
handler - URL 의 스트림 핸들러
예외:
MalformedURLException - 프로토콜이 지정되어 있지 않은지, 미지의 프로토콜이 발견되었을 경우
SecurityException - 시큐리티 매니저가 존재해, 시큐리티 매니저의 checkPermission 메소드가 스트림 핸들러의 지정을 허가하지 않는 경우
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String,, URLStreamHandler , java.net.URLStreamHandler#parseURL(java.net.URL,
메소드의 상세

set

protected void set(String  protocol,
                   String  host,
                   int port,
                   String  file,
                   String  ref)
URL 의 필드를 설정합니다. 이것은 public 메소드는 아니기 때문에, URL 필드를 수정할 수 있는 것은 URLStreamHandlers 만입니다. 그 이외의 URL 는 정수입니다.

파라미터:
protocol - 사용하는 프로토콜명
host - 호스트명
port - 호스트상에서의 포트 번호
file - 호스트상의 파일
ref - URL 의 내부 참조

set

protected void set(String  protocol,
                   String  host,
                   int port,
                   String  authority,
                   String  userInfo,
                   String  path,
                   String  query,
                   String  ref)
URL 의, 지정된 8 필드를 설정합니다. 이것은 public 메소드는 아니기 때문에, URL 필드를 수정할 수 있는 것은 URLStreamHandlers 만입니다. 그 이외의 URL 는 정수입니다.

파라미터:
protocol - 사용하는 프로토콜명
host - 호스트명
port - 호스트상에서의 포트 번호
authority - URL 의 기관 부분
userInfo - 사용자명 및 패스워드
path - 호스트상의 파일
ref - URL 의 내부 참조
query - 이 URL 의 쿼리부분
도입된 버젼:
1.3

getQuery

public String  getQuery()
URL 의 쿼리부분을 가져옵니다.

반환값:
URL 의 쿼리부분. 존재하지 않는 경우는 null
도입된 버젼:
1.3

getPath

public String  getPath()
URL 의 패스 부분을 가져옵니다.

반환값:
URL 의 패스 부분. 존재하지 않는 경우는 빈 상태(empty)의 캐릭터 라인
도입된 버젼:
1.3

getUserInfo

public String  getUserInfo()
URL 의 사용자 정보부분을 가져옵니다.

반환값:
URL 의 사용자 정보부분. 존재하지 않는 경우는 null
도입된 버젼:
1.3

getAuthority

public String  getAuthority()
URL 의 기관 부분을 가져옵니다.

반환값:
URL 의 기관 부분
도입된 버젼:
1.3

getPort

public int getPort()
URL 의 포트 번호를 가져옵니다.

반환값:
포트 번호. 포트가 설정되어 있지 않은 경우는 -1

getDefaultPort

public int getDefaultPort()
URL 에 관련하는 프로토콜의 디폴트의 포트 번호를 가져옵니다. URL schema 또는 URL 의 URLStreamHandler 가 디폴트의 포트 번호를 정의하지 않는 경우는,-1 이 돌려주어집니다.

반환값:
포트 번호
도입된 버젼:
1.4

getProtocol

public String  getProtocol()
URL 의 프로토콜명을 가져옵니다.

반환값:
URL 의 프로토콜

getHost

public String  getHost()
해당하는 경우, 이 URL 의 호스트명을 가져옵니다. 호스트명의 형식은 RFC 2732 에 준거합니다. 즉, 리터럴 IPv6 주소의 경우, 이 메소드는 꺽쇄묶음 ([])으로 둘러싸인 IPv6 주소를 돌려줍니다.

반환값:
URL 의 호스트명

getFile

public String  getFile()
URL 의 파일명을 가져옵니다. 반환되는 파일 부분은,getQuery() 의 값이 존재하는 경우에는, 그 값과 getPath() 의 값을 연결한 것 것과 같게 됩니다. 쿼리부분이 존재하지 않는 경우, 이 메소드와 getPath() 는 같은 결과를 돌려줍니다.

반환값:
URL 의 파일명. 존재하지 않는 경우는 빈 상태(empty)의 캐릭터 라인

getRef

public String  getRef()
URL 의 엥커 ( 「참조」라고도 불린다)를 가져옵니다.

반환값:
URL 의 엥커 ( 「참조」라고도 불린다). 존재하지 않는 경우는 null

equals

public boolean equals(Object  obj)
이 URL 와 다른 객체가 동일한지 어떤지를 비교합니다.

지정된 객체가 URL 가 아닌 경우, 이 메소드는 즉시 false 를 돌려줍니다.

2 개의 URL 객체가 동일한 것은, 같은 프로토콜을 가져, 같은 호스트를 참조해, 호스트상의 포트 번호가 같아, 파일과 파일의 fragment가 같은 경우입니다.

2 살의 호스트가 등가라고 보여지는 것은, 양쪽 모두의 호스트명이 같은 IP 주소에 해결되는지, 어느 쪽인가의 호스트명을 해결할 수 없는 경우는, 대문자 소문자에 관계없이 호스트명이 동일한지, 양쪽 모두의 호스트명이 null 에 동일한 경우입니다.

호스트 비교에는 이름 해석이 필요해서, 이 조작은 블록 조작입니다.

주:equals 의 정의된 동작은, HTTP 의 가상 호스트와 일치하지 않는 것이 알려져 있습니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 비교 대상의 URL
반환값:
객체가 같은 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
해시 테이블의 인덱스부에 적절한 int 치를 작성합니다.

해시 코드는 URL 비교에 관련하는 모든 URL 컴퍼넌트에 근거하고 있습니다. 따라서, 이 조작은 블록 조작입니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
URL 에 사용하는 해시 코드
관련 항목:
Object.equals(java.lang.Object) , Hashtable

sameFile

public boolean sameFile(URL  other)
fragment 컴퍼넌트 이외의 2 개의 URL 를 비교합니다.

fragment 컴퍼넌트를 고려하지 않고, 이 URLother 인수가 동일한 경우는,true 를 돌려줍니다.

파라미터:
other - 비교 대상의 URL
반환값:
2 개의 URL 가 참조하는 원격 객체가 같은 경우는 true, 그렇지 않은 경우는 false

toString

public String  toString()
URL 의 캐릭터 라인 표현을 구축합니다. 이 객체의 스트림 프로토콜 핸들러의 toExternalForm메소드를 호출하는 것에 의해 캐릭터 라인이 작성됩니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 객체의 캐릭터 라인 표현
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String, int,, URLStreamHandler.toExternalForm(java.net.URL)

toExternalForm

public String  toExternalForm()
URL 의 캐릭터 라인 표현을 구축합니다. 이 객체의 스트림 프로토콜 핸들러의 toExternalForm메소드를 호출하는 것에 의해 캐릭터 라인이 작성됩니다.

반환값:
이 객체의 캐릭터 라인 표현
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String,, URLStreamHandler.toExternalForm(java.net.URL)

toURI

public URI  toURI()
          throws URISyntaxException 
이 URL 와 등가인 URI 를 돌려줍니다. 이 메소드는,new URI (this.toString()) 와 같이 기능합니다.  

RFC 2396 에 준거한 URL 인스턴스는 반드시 URI 로 변환할 수 있는 것에 주의해 주세요. 다만, 엄밀하게 준거하고 있지 않는 URL 는, URI 로 변환할 수 없을 가능성이 있습니다.

반환값:
이 URL 와 등가인 URI 인스턴스
예외:
URISyntaxException - 이 URL 의 형식이 RFC2396 에 엄밀하게 따르지 않기 때문에, URI 로 변환할 수 없는 경우
도입된 버젼:
1.5

openConnection

public URLConnection  openConnection()
                             throws IOException 
URL 가 참조하는 원격 객체에의 접속을 나타내는 URLConnection 객체를 돌려줍니다.

이 URL 의 프로토콜 핸들러의 openConnection 메소드를 호출할 때마다, 새로운 접속이 열립니다.

HTTP 나 JAR 등의, URL 의 프로토콜에 대해서는, java.lang, java.io, java.util, 또는 java.net 의 패키지, 혹은 그 서브 패키지에 속하는 공개된 특수한 URLConnection 서브 클래스가 있습니다. 반환되는 접속은, 그 서브 클래스의 것이 됩니다. 예를 들어, HTTP 프로토콜에 대해서는 HttpURLConnection 가 돌려주어져 JAR 에 대해서는 JarURLConnection 가 돌려주어집니다.

반환값:
URL 에의 URLConnection
예외:
IOException - 입출력 예외가 발생했을 경우
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String,, URLConnection , URLStreamHandler.openConnection(java.net.URL)

openConnection

public URLConnection  openConnection(Proxy  proxy)
                             throws IOException 
openConnection()와 거의 같습니다만, 접속의 확립이 지정된 프록시 경유로 행해지는 점이 다릅니다. 프록시 처리를 지원하지 않는 프로토콜 핸들러는, 프록시의 파라미터를 무시해, 일반적으로의 접속을 확립합니다. 이 메소드를 호출하면(자), 시스템의 디폴트의 ProxySelector 설정이 횡령됩니다.

파라미터:
proxy - 이 접속의 확립에 사용되는 프록시. 직접 접속을 실시하고 싶은 경우는 Proxy.NO_PROXY 를 지정해야 한다
반환값:
URL 에의 URLConnection
예외:
IOException - 입출력 예외가 발생했을 경우
SecurityException - 시큐리티 매니저가 존재해, 프록시에 접속하는 권한을 호출해 원이 가지고 있지 않은 경우
IllegalArgumentException - 프록시가 null 일까 프록시의 형태가 올바르지 않은 경우에 throw 된다
UnsupportedOperationException - 프로토콜 핸들러를 구현하는 서브 클래스가 이 메소드를 지원하지 않는 경우
도입된 버젼:
1.5
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String,, URLConnection , java.net.URLStreamHandler#openConnection(java.net.URL,

openStream

public final InputStream  openStream()
                             throws IOException 
URL 에의 접속을 오픈해, 그 접속으로부터 read를 행하기 위한 InputStream 를 돌려줍니다. 이 메소드는 다음의 메소드의 단축형입니다.
     openConnection(). getInputStream()
 

반환값:
URL 접속으로부터 입력을 읽어들이기 위한 입력 스트림
예외:
IOException - 입출력 예외가 발생했을 경우
관련 항목:
openConnection() , URLConnection.getInputStream()

getContent

public final Object  getContent()
                        throws IOException 
이 URL 의 컨텐츠를 가져옵니다. 이 메소드는 다음의 메소드의 단축형입니다.
     openConnection(). getContent()
 

반환값:
이 URL 의 컨텐츠
예외:
IOException - 입출력 예외가 발생했을 경우
관련 항목:
URLConnection.getContent()

getContent

public final Object  getContent(Class [] classes)
                        throws IOException 
이 URL 의 컨텐츠를 가져옵니다. 이 메소드는 다음의 메소드의 단축형입니다.
     openConnection(). getContent(Class[])
 

파라미터:
classes - Java 형의 배열
반환값:
클래스의 배열로 지정된 형태가 최초로 일치한, 이 URL 의 컨텐츠 객체. 요구된 형태가 지원되어 있지 않은 경우는 null
예외:
IOException - 입출력 예외가 발생했을 경우
도입된 버젼:
1.3
관련 항목:
URLConnection.getContent(Class[])

setURLStreamHandlerFactory

public static void setURLStreamHandlerFactory(URLStreamHandlerFactory  fac)
어플리케이션의 URLStreamHandlerFactory 를 설정합니다. 이 메소드는, 사용하는 Java 가상 머신으로 1 회 밖에 호출할 수 없습니다.

URLStreamHandlerFactory 인스턴스는, 프로토콜명으로부터 스트림 프로토콜 핸들러를 구축하는데 사용됩니다.

시큐리티 매니저가 존재하는 경우, 이 메소드는 최초로 시큐리티 매니저의 checkSetFactory 메소드를 호출하는 것으로, 이 조작이 허가되고 있는 것을 확인합니다. 이 결과, SecurityException 가 throw 되는 일이 있습니다.

파라미터:
fac - 목적의 팩토리
예외:
Error - 어플리케이션으로 팩토리가 벌써 설정되어 있는 경우
SecurityException - 시큐리티 매니저가 존재해, 그 checkSetFactory 메소드가 이 조작을 허가하지 않는 경우
관련 항목:
java.net.URL#URL(java.lang.String, java.lang.String,, URLStreamHandlerFactory , SecurityManager.checkSetFactory()

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.