2015-02-23 9 views
0

Мне нужен абсолютный путь ссылок без ссылок на файлы. У меня есть этот код, который дает мне ссылки и некоторые ссылки там отсутствуют.Как получить абсолютный URL-адрес без файлов

public class Main { 

public static void main(String[] args) throws Exception { 
    URI uri = new URI("http://www.niocchi.com/"); 
    printURLofPages(uri); 
} 

private static void printURLofPages(URI uri) throws IOException { 
    Document doc = Jsoup.connect(uri.toString()).get(); 
    Elements links = doc.select("a[href~=^[^#]+$]"); 

    for (Element link : links) { 
     String href = link.attr("abs:href"); 
     URL url = new URL(href); 
     String path = url.getPath(); 
     int lastdot = path.lastIndexOf("."); 
     if (lastdot > 0) { 
      String extension = path.substring(lastdot); 
      if (!extension.equalsIgnoreCase(".html") && !extension.equalsIgnoreCase(".htm")) 
       return; 
     } 
     System.out.println(href); 
    } 
} 
} 

Этот код получить меня следующие ссылки:

http://www.enormo.com/ 
http://www.vitalprix.com/ 
http://www.niocchi.com/javadoc 
http://www.niocchi.com/ 

Мне нужно получить это ссылки:

http://www.enormo.com/ 
http://www.vitalprix.com/ 
http://www.niocchi.com/javadoc 
http://www.linkedin.com/in/flmommens 
http://www.linkedin.com/in/ivanprado 
http://www.linkedin.com/in/marcgracia 
http://es.linkedin.com/in/tdibaja 
http://www.linkody.com 
http://www.niocchi.com/ 

Большое спасибо за советы.

+0

Класс URI имеет все, что нужно; вы посмотрели на его javadoc? – fge

+1

Кроме того, из одного пути URI вы не можете легко определить, является ли этот путь «каталогом» «файла» вообще – fge

+0

Есть ли хороший способ проверить, является ли это файлом или нет? – basfot

ответ