16 Şubat 2020 Pazar

URI Sınıfı

Giriş
Şu satırı dahil ederiz.
import  java.net.URI;
URI authority, host, port ve path kısımlarından oluşur

constructor - String
Eğer URI string'i yanlış ise exception fırlatır. Açıklaması şöyle.
public URI(String str) throws URISyntaxException Throws: URISyntaxException - If the given string violates RFC 2396, as augmented by the above deviations
constructor  - scheme, userInfo, host, int port, path, query, fragment
Örnek
Şöyle yaparız. Burada başta çift slah karakteri olmadığı için Java kendisi ekler ve şu hale gelir. ///5-12-145-35_s-81:443
URI uri1 = new URI(null, null, "/5-12-145-35_s-81", 443, null, null, null);
System.out.println("uri = " + uri1);
System.out.println("  authority = " + uri1.getAuthority());
System.out.println("  host = " + uri1.getHost());
System.out.println("  port = " + uri1.getPort());
System.out.println("  path = " + uri1.getPath());
Açıklaması şöyle.
the authority part is empty, and /5-12-145-35_s-81:443 is a path.
Çıktı olarak şunu alırız.
uri = ///5-12-145-35_s-81:443
  authority = null
  host = null
  port = -1
  path = /5-12-145-35_s-81:443
getAuthority metodu
Baştaki çift sağ slash karakterinden sonra gelen kısımdır
Örnek
Şöyle yaparız.
URI uriGoodHost = URI.create("//example.com:443");
System.out.println("uri = " + uriGoodHost);
System.out.println("  authority = " + uriGoodHost.getAuthority());
System.out.println("  host = " + uriGoodHost.getHost());
System.out.println("  port = " + uriGoodHost.getPort());
Çıktı olarak şunu alırız.
uri = //example.com:443
  authority = example.com:443
  host = example.com
  port = 443
getPath metodu
Şöyle yaparız
File file = new File("c:\\tmp\\abc.txt");       //file =C:\tmp\abc.txt
String filePath= file.getCanonicalPath();       //path= C:\tmp\abc.txt
String str=filePath.replace('\\', '/');         //str= C:/tmp/abc.txt
java.net.URI uri= new java.net.URI(str);        //uri= C:/tmp/abc.txt
uri.getPath();                                  //uri.getPath() = /tmp/abc.txt

Hiç yorum yok:

Yorum Gönder