Prácticas con URL
Enunciado 1
Comproba o funcionamento do seguinte programa, e analiza os resultados obtidos:
1 import java.net.*;
2
3 // https://www.cifprodolfoucha.es/centro/
4 class url_ej1_a{
5 public static void main( String[] args ) {
6 url_ej1_a obj = new url_ej1_a();
7
8 try {
9 System.out.println("Constructor simple para URL principal" );
10 obj.display( new URL( "https://www.cifprodolfoucha.es" ) );
11
12 System.out.println("Constructor de cadea para URL + directorio" );
13 obj.display( new URL( "https://www.cifprodolfoucha.es/centro") );
14
15 System.out.println("Constructor con protocolo, host e directorio" );
16 obj.display( new URL("https","www.cifprodolfoucha.es","/centro" ) );
17
18 System.out.println("Constructor con protocolo, host, porto e directorio" );
19 obj.display( new URL("https","www.cifprodolfoucha.es",443,"/centro" ) );
20
21 System.out.println( "Construe un enderezo absoluto a partir do enderezo do Host e unha URL relativa" );
22 URL baseURL = new URL("https://www.cifprodolfoucha.es" );
23 obj.display( new URL( baseURL,"/centro") );
24
25 } catch( MalformedURLException e ) {
26 System.out.println( e );
27 }
28 }
29
30 // Método para poder presentar na pantalla partes dun enderezo URL
31 void display( URL url ) {
32 System.out.print( url.getProtocol()+" " );
33 System.out.print( url.getHost()+" " );
34 System.out.print( url.getPort()+" " );
35 System.out.print( url.getFile()+" " );
36 System.out.println( url.getRef() );
37
38 // Presenta o enderezo completa como unha cadea
39 System.out.println( url.toString() );
40 System.out.println();
41 }
42 }
Modificao para comprobar o funcionamento con:
Enunciado 2
Escribe un programa que garde o contido dunha URL nun ficheiro chamado paxina.html.
Tes este código de xestión do ficheiro para que che sirva de axuda:
1 // Código anterior a implementar...
2 if (fichero.exists()) {
3 System.out.println("O ficheiro " + sFichero + " xa existe!");
4 } else {
5 try {
6 // Ábrese unha conexión hacia esa URL que devolverá unha canle de entrada pola cal poderá ler todo o que chegue
7 BufferedReader paginaHtml = new BufferedReader(new InputStreamReader(entrada));
8 BufferedWriter bw = new BufferedWriter(new FileWriter(sFichero));
9
10 // Leese e preséntase o contido do ficheiro en pantalla liña a líña
11 while ((cadena = paginaHtml.readLine()) != null) {
12 bw.write(cadena + "\r\n");
13 }
14
15 System.out.println("Ficheiro creado correctamente");
16
17 try {
18 paginaHtml.close();
19 bw.close();
20 } catch (IOException e) {
21 e.printStackTrace();
22 System.out.println("Excepción na entrada e saída ó pechar o ficheiro!");
23 }
24
25 } catch (UnknownHostException e) {
26 e.printStackTrace();
27 System.out.println("Debes estar conectado para que isto funcione ben!");
28 } catch (MalformedURLException e) {
29 e.printStackTrace();
30 System.out.println("Esa URL non está ben formada!");
31 } catch (IOException e) {
32 e.printStackTrace();
33 System.out.println("Excepción na entrada e saída!");
34 }
35 }
36 }
Solucións
Podes consultar as solucións ás practicas con URL.