Diferencia entre revisiones de «Prácticas con URL»

De MediaWiki
Ir a la navegación Ir a la búsqueda
Línea 54: Línea 54:
 
Escribe un programa que garde o contido dunha URL nun ficheiro chamado paxina.html.  
 
Escribe un programa que garde o contido dunha URL nun ficheiro chamado paxina.html.  
  
−
Tes este código para que te sirva de axuda:
+
Tes este código de xestión do ficheiro para que che sirva de axuda:
 +
<syntaxhighlight lang="java" line enclose="div" highlight="" >
 +
// Código anterior a implementar...
 +
if (fichero.exists()) {
 +
            System.out.println("O ficheiro " + sFichero + " xa existe!");
 +
        } else {
 +
            try {
 +
        // Ábrese unha conexión hacia esa URL que devolverá unha canle de entrada pola cal poderá ler todo o que chegue
 +
                BufferedReader paginaHtml = new BufferedReader(new InputStreamReader(entrada));
 +
                BufferedWriter bw = new BufferedWriter(new FileWriter(sFichero));
 +
 
 +
                // Leese e preséntase o contido do ficheiro en pantalla liña a líña
 +
                while ((cadena = paginaHtml.readLine()) != null) {
 +
                    bw.write(cadena + "\r\n");
 +
                }
 +
 
 +
                System.out.println("Ficheiro creado correctamente");
 +
 
 +
                try {
 +
                    paginaHtml.close();
 +
                    bw.close();
 +
                } catch (IOException e) { 
 +
                    e.printStackTrace();
 +
                    System.out.println("Excepción na entrada e saída ó pechar o ficheiro!");
 +
                }
 +
 
 +
            } catch (UnknownHostException e) {
 +
                e.printStackTrace();
 +
                System.out.println("Debes estar conectado para que isto funcione ben!");
 +
            } catch (MalformedURLException e) {
 +
                e.printStackTrace();
 +
                System.out.println("Esa URL non está ben formada!");
 +
            } catch (IOException e) {
 +
                e.printStackTrace();
 +
                System.out.println("Excepción na entrada e saída!");
 +
            }
 +
        }
 +
    }
 +
</syntaxhighlight>
  
 
= Solucións =
 
= Solucións =
 
Podes consultar as [[solucións ás practicas con URL]].
 
Podes consultar as [[solucións ás practicas con URL]].

Revisión del 17:38 13 nov 2021

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.