Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) 698 8427 - cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.

Slides:



Advertisements
Presentaciones similares
Curso de java básico (scjp)
Advertisements

Java nos ofrece System.out para escribir en pantalla, pero también tenemos System.in para leer. System.in es un objeto de una clase de java que se llama.
Curso de java básico (scjp)
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
Introducción a la programación en JAVA
EXCEPCIONES UNIDAD 5.
Clases Extendidas La clase extendida hereda los campos y métodos de la clase de la cual extiende. La clase original se conoce como superclase y la clase.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Archivos Implementar un método que lea una secuencia de números enteros de un archivo y compute la cantidad de elementos leídos.
Arquitectura CLARO-TECNOTREE CAPITULO 4: Excepciones
Capitulo 4 Excepciones.
FUNCIONES EN C.
Informática II Prof. Dr. Gustavo Patiño MJ
Tema 1. Introducción a la programación (Lenguaje java).
1.2 Sintaxis del lenguaje Java.
UNIVERSIDAD LATINA (UNILA)
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Unidad 3 Punteros.
Conceptos Básicos de Java
Material Elaborado por: Lic. Saily González. CONTENIDO 2.1- Estructura de una Aplicación JAVA 2.2- Elementos básicos de la Programación JAVA Comentarios.
Excepciones y archivos Info 033. Exception El término Exception es la palabra corta para la frase "evento excepcional." Definition: Una excepción es un.
Manejo de excepciones en Java
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
Modificadores.
POO Java Módulo 3 Elementos de programas Identificadores
Clases y objetos La unidad fundamental de programación OO son las clases. Conjunto de métodos y semántica Qué se va a hacer POO Clase: que define la implementación.
Tema 6: Clases Antonio J. Sierra.
Unidad I Java y C++ : Similitudes y diferencias
SCJP Sun Certified Programmer for Java 6
Semana 5 Subprogramas..
El lenguaje de programación Java
Java. Java nació el año 1991, por un par de ingenieros de la Sun Microsystems.
Tema 11: Excepciones Antonio J. Sierra.
Lenguaje de programación Java UNIVERSIDAD REGIONAL DEL SURESTE.
Computación II Unidad X Manejo de Excepciones. Presentación de la Unidad Objetivos: –Saber manejar situaciones inesperadas dentro de un programa –Comprender.
USO DE EXCEPCIONES EN JAVA LSC. Natalia Rodríguez Castellón.
Resumen Fundamentos de Programación/ Programación I
1 Introducción al lenguage JAVA Programación en un lenguaje orientado al objeto usando el lenguaje de programación JAVA.
Manejo de excepciones en Java ELO329: Diseño y Programación Orientados a Objetos Agustín J. González.
Programación Orientada a Objetos Unidad 4 Excepciones Universidad de Chile Departamento de Ciencias de la Computación.
1 Manejo de Excepciones y otros Agustín J. González ELO-329.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Programando Clientes TCP Postítulo La Clase InetAddress Una dirección IP es la dirección absoluta de un computador cualquiera en toda la internet.
Elementos básicos del lenguaje
Java.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Manejo de errores: Excepciones en Java
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
Tratamiento de excepciones
Manejo de errores: Excepciones en Java ELO329: Diseño y Programación Orientados a Objetos.
Capítulo 2 “Subprogramas/Funciones - Arreglos”
Ing. Esp. Ricardo Cujar.  Lenguaje de programación orientado a objetos.  Desarrollado por Sun MicroSystems.  Independiente del Sistema Operativo gracias.
Prof. Víctor Aquino Urrutia
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Elementos básicos.  Fuertemente tipeado.  Sintaxis similar a C/C++.  Sin punteros: garbage collection.  Portable.  Integra librerías para objetos.
LE, EI, Profesor Ramón Castro Liceaga UNIVERSIDAD LATINA (UNILA) V. GESTIÓN DE TIPOS Y GENERACIÓN DE CÓDIGOS.
Estructuras de control selectivas Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión Práctica 3.
1 Métodos. 2 Un método es un conjunto de instrucciones definidas dentro de una clase, que realizan una determinada tarea y a las que podemos invocar mediante.
Manejo de Excepciones made by cristhian.. !!.  Errores que se pueden producir durante la ejecucion de una aplicacion y que podemos controlar o manejar.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Programación en Java Introducción a Java. Reseña histórica Surge en 1991 por Sun Microsystems Desarrollado para electrodomésticos Se buscaba un código.
Transcripción de la presentación:

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 1 2- InterNetworking con Java  ¿ Por qué JAVA ?  En este curso: Los programas son más simples => se peude usar más tiempo en explicar la lógica de los programas que para explicar las instrucciones del lenguaje.  En general: Java nace cuando la internet ya está madura (1993-4) => nace “sabiendo” que existe TCP/IP y que la programación distribuida es importante, lo que se nota en el diseño.  Además de las típicas funcionalidades básicas de comunicación (comunicación por canales TCP y UDP) incorpora otras de alto nivel de abstracción: RMI, Applets, JDBL, URL  ¿ Siempre es mejor JAVA ?  No, Java es multiplataforma por lo tanto sólo puede hacer cosas que sean comúnes a todas las plataformas.  Con la estandarización de TCP/IP como red virtual para todos los equipos esto es cada vez menos importante. Aún así hay cosas: Nombres y ports sólo se pueden asociar en C ya que es exclusivo de UNIX.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 2 Java es un lenguaje interpretado Compilador de java (específico x plataforma) javac P1.java P1.javaP1.class Intérprete de java (específico x plataforma) java P1 (class) Salida del Prog.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 3 Un primer programa en JAVA public class Hello { public static void main(String args[ ]) { System.out.println(“Hola Mundo“); }  Todo programa es escrito como el método estático llamado main en una clase cualquiera  Este método se empieza a ejecutar cuando se invoca el intérprete de java para una clase dada  args es un arreglo de Strings que contiene los parámetros  con los que fué invocado el programa.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 4 Tipos primitivos de datos en JAVA  enteros: int, long, short, byte Const. 1, -1, 1024, 1L  reales: float, double Const. 1.0, , 1.5e4, 1.0f  caracter: char Const. ‘a’, ‘X’,  lógico: boolean Const. true, false Constantes de String: “Hola“,“12 de Abril“

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 5 Declaraciones int i; int i = 1; double pi = ; char c = ‘a’; boolean estamos_bien = true; Las declaraciones de variables pueden ir en cualquier parte del programa pero siempre antes de que la variable sea usada.Hay que tener cuidado con el rango de validez (scope) de la declaración

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 6 Expresiones y asignación  Aritmeticas: suma + 20 * c / (mod % 3)  Relacionales: a > b, b >= c, c != 4, a == 0  De String: “hola “+ nombre + “ hoy es “+ dia + “de”+mes  Casts: (int) pi (pi = 3.1) (int) (Math.random()*100)+1)  Otros: a == 1 ? a+1 : a-1  Asignacion: a = 1;  Asignación como operador: a = b = c = d = 0; boolean cero = ( b = c - 10) == 0;

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 7 Instrucciones de Control  Instrucción condicional: if (cond) instr; if(cond) instr; else instr;  Ciclos: while (cond) instr;  Ciclos: do instr; while (cond);  Ciclos for (instr1; i<10; instr2) instr;  Selección switch/case  Agrupación de instrucciones bajo un if, else, while, for, etc. se realiza con paréntesis crespo { }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 8 Programa Ejemplo public class MCD { //calculo del maximo comun divisor entre 15 y 24 public static void main(String args[ ]) { int x = 15, y = 24; while (x != y) { if (x < y) y = y - x; else x = x - y; } System.out.println(“el MCD entre 15 y 24 es “ + x); }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 9 Programando Orientado al Objeto  Las clases son definiciones de tipos de datos nuevos  Un una instancia de una clase (dato) se llama objeto  Consisten en la declaración de un conjunto de datos y métodos que operan sobre estos datos (pueden modificar o los datos o sólo retornar valores).  Dentro de los métodos hay uno bien especial que se llama constructor. Tiene el mismo nombre de la clase y se llama cada vez que se quiere crear un objeto nuevo de esa clase. Clase variable x; x = new Clase(parametros); y = x.metodoConResultado(parametros); x.metodoSinResultados(parametros);

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 10 La Clase String  Son parte del lenguaje (no hay que importarlos)  Se crean: String s = new String(“Hola Mundo”); pero esto se puede resumir con String s = “Hola Mundo”; u  Tamaño de un String: int i = s.length();  k-esimo carácter: char c = s.charAt(k);  Subsecuencias: String sub = s.substring(k); String sub = s.substring(inicio, fin);  Búsqueda de subsecuencias: int i = s.indexOf(“hola”);  Comparacion: boolean iguales s1.equals(s2); int i = s1.compareTo(s2); 0 si s1==s2, >0 si s1>s2, <0 si s1<s2

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 11 Búsqueda de Substrings String s = “llego y dijo hola”; int i = s.indexOf(“go”)´; i == 3 (parten de 0) Ej: Contar las apariciones de “hola” en un string s: public class Cuenta { public static void main(String args[]) { int i, apariciones = 0; while ((i = s.indexOf(“hola”)) !0 -1) { ++apariciones; s = s.substring(i+1); } System.out.println(“el string hola aparecio “+ apariciones+ “veces”); }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 12 Clases definidas por usuario Partamos con un ejemplo; en el archivo Auto.java se tiene: public class Auto { public String nombre; public int construccion; public float rendimiento; } Podemos entonces escribir un programa que use esto: public class Programa { public static void main(String args[]) { Auto miAuto1 = new Auto(); // el constructor clase() es gratis! miAuto1.nombre = “Volkswagen”; //porque es public !!!! miAuto1.construccion = 1994; miAuto1.rendimiento = 9.65; System.out.println(“mi auto es un “+miAuto1.nombre+ “fue construido el “+miAuto1.construccion+ “y gasta “+rendimiento+”litros cada 100km”); }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 13 Agregando métodos a la clase Auto public class Auto { String nombre; int construccion= 1990; float rend; public Auto() { nombre = “Yiguly”; rend = 15; //se crea con estos valores } public void cambiaConstrucción(int año) { construccion = año; } public Auto(String nombre; int construccion; float rend) { this.construccion = construccion; this.nombre = nombre; this.rend = rend //no hay ambigüedad! } public float redimientoEnKxL() { return 100/rend; }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 14 Herencia public class AutoColeccion extends Auto { String comentarios; int valorColeccion; static cantidad = 0; // una sola variable para toda la clase // conocida por todos los objetos AutoColeccion() { //no se heredan !!!! super(); ++cantidad; cometarios = “nada por ahora”; valorColeccion = 0; } public void cambiaConstrucción(int año) { construccion = año; comentarios = “se cambio el valos de construccion”; } public static int cuantos() { //método estático !!! return cantidad; }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 15 Resumen de Métodos  Los métodos dinámicos (sobre objetos) se invocan: variableObjeto.nombreMétodo(parametro1,..,parámetroN) Ej: miAuto.cambiaConstruccion(1999)  En el caso de los métodos estáticos: NombreClase.nombreMétodo(parámetro1,..,parámetroN) Ej: int i = AutoColeccion.cuantos()  En Java existe la clase Math cuya función más importante es proveer al leguage de los métodos matemáticos típicos: Math.sqr(x), Math.sin(x), Math.max(x,y), Math.pow(x,y)  El paso de parámetros es siempre por valor, salvo en el caso de objetos y arreglos, que es por referencia (se pasa una copia del puntero al objeto)  main es un método estático de una clase !!!!!

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 16 Arreglos  Se pueden declarar como: int[] A; int A[]; Esto es la declaración del puntero al arreglo, no se especifica tamaño en la declaración;  Inicialización : A = new int[10]; int[] A = new int[10];  Empiezan desde 0: for(int i=0; i < 10; ++i) A[i] = 0;  Se puede averiguar el largo: int largo = A.length;  length es un campo del objeto arreglo y no un método. No es necesario el método ya que el tamaño, como el contenido de un String no varían despuésde su creación.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 17 Argumentos de un Programa  Si se invoca al programa P1 de ka siguiente manera: java P1 estos son parametros entonces en el programa se tendrá args[0] = “estos”, args[1] = “son”, args[2] = “parametros”.  Se reciben como un arreglo de strings en la variable declarada como parámetro del programa String args[] public class Parametros { public static void main(String args[]) { for(int i=0; i < args.length; i++) System.out.pritnln(args[i]); }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 18 Exceptions  Una Exeption es un evento que rompe la ejecución normal de un programa (debido a un error). Cuando ocurre un evento como este un objeto de la clase Exception es generado o “lanzado” (throw).  Existen varios tipos de clases derivadas Exception dependiendo de que fue lo que originó el evento: IOException, IndexOutOfBoundsException, UnknownHostException, etc.  Cuando esto sucede, el intérprete de JAVA busca un exception handler adecuado para esta exception, que ejecuta un pedazo de código (programado por el usuario) que debería reaccionar en forma adecuada a esta falla del programa. Esto se llama “atrapar una exception” (catch).  Cuando no se ha escrito ningún ningún handler que atrape esta exception, el programa se detiene (se cae). La razón para introducir exceptions es que la programación para reaccionar ante fallas se hace más fácil (no hay que preverlas todas).

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 19 Ejemplo de Exceptions en I/O (1)  Muchas veces el compilador OBLIGA a programar el código de modo de atrapar exceptions cuando estas pueden suceder con cierta probabilidad. Las más frecuentes son las de IO. import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO{ public static void main(String args[]) { BufferedReader in; PrintWriter out; String line; try { in = new BufferedReader(new FileReader(“Origen.txt”))}; catch (IOException e) { System.out.println(“error en apertura”); System.exit(1);} try { out = new PrintWriter( new FileWriter(“Destino.txt”))}; catch (IOException e) { System.out.println(“error en creacion”); System.exit(1);} try { while( (line = in.readLine()) != null) out.println(line); catch (IOException e) { System.out.println(“problemas”);} }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 20 Ejemplo de Exceptions en I/O (2)  Se puede omitir poner tantos try-catch si no importa donde sucedió import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO2{ public static void main(String args[]) { BufferedReader in; PrintWriter out; String line; try { in = new BufferedReader( new InputStreamReader(System.in)); out = new PrintWriter( new FileWriter(“Destino.txt”)); System.out.println(“ingrese linea”); while( (line = in.readLine()) != “”){ out.println(line); System.out.println(“ingrese linea”); } catch (Exception e) { System.out.println(“problemas”); }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 21 Ejemplo de Exceptions en I/O (3)  También se puede evitar tener que preocuparse de las exceptions siempre y cuando el método que la pordría generar se declare como que “lanza” una excepción: import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO3{ public static void main(String args[]) throws IOException{ BufferedReader in; PrintWriter out; String line; in = new BufferedReader(new FileReader(“Origen.txt”)); out = new PrintWriter( new FileWriter(“Destino.txt”)); while( (line = in.readLine()) != null) out.println(line); }  Esto implica que el programa se caerá si hay una excepción durante la generación del programa. En otros casos se puede declarar que uno o más métodos lanzan una IOException y el programa o método principal se preocupa de escribir el Exception handler.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 22 Ejemplo de Exceptions en I/O (3)  También se puede evitar tener que preocuparse de las exceptions siempre y cuando el método que la pordría generar se declare como que “lanza” una excepción: import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO3{ public static void main(String args[]) throws IOException{ BufferedReader in; PrintWriter out; String line; in = new BufferedReader(new FileReader(“Origen.txt”)); out = new PrintWriter( new FileWriter(“Destino.txt”)); while( (line = in.readLine()) != null) out.println(line); }  Esto implica que el programa se caerá si hay una excepción durante la generación del programa. En otros casos se puede declarar que uno o más métodos lanzan una IOException y el programa o método principal se preocupa de escribir el Exception handler.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 23 La Clase InetAddress import java.io.*; //importa clases de la biblioteca IO public class ProgrmaÍO3{ public static void main(String args[]) throws IOException{ BufferedReader in; PrintWriter out; String line; in = new BufferedReader(new FileReader(“Origen.txt”)); out = new PrintWriter( new FileWriter(“Destino.txt”)); while( (line = in.readLine()) != null) out.println(line); }

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 24 La Clase URL Un URL es un UNIFORM RESOURCE LOCATOR. Consiste en una dirección de un recurso que un servidor en la internet pone a disposición de los usuarios, como por ej.  En un objeto URL existen dos componentes principales: El descriptor de protocolo (ej. http) y el nombre del recurso (ej. http significa Hyper Text Transfer protocol pero hay otros protocolos de transferencia de datos en la internet como: el File Transfer protocol (ftp), Gopher, File o News.  En java es posible abrir una direccion de URL leer el contenido como si fuera un archivo cualquiera. Para ello debemos crear un objeto URL, con el nombre del protocolo y la dirección del recurso que queremos recuperar.

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 25 La Clase URL (2) Existen varios constructores de URL:  URL unRUL = new URL(“  unURL = new URL(“http”;”  inURL = new URL(“http”,”  Al crear una variable URL se puede producir una excepcion del tipo MalformedURLException por eso se deben tomar las medidas necesarias (como por ej: usar un bloque try-catch) try { URL miURL = new URL(....); } catch(MalFormedURLException e) { // codigo para atrapar la exception }  Métodos que se pueden aplicar a un objeto de la clase URL: getProtocol(), getHost(), getPort(), getFile(), openConnection()

Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores 26 La Clase URL (3) Si sabemos a priori que el contenido de un URL es texto podemos leerlo de la siguiente manera: import java.net.*; import java,io.*; public class Leer URL { public static void main(String args[]) { try { URL miURL = new URL(“ URLConnection c = miURL.openConnection(); BufferedReader in = new BufferedReader ( new InputStreamReader( c.getInputStream())); String line; while ((line = in.readLine() != null) System.out.prinln(line); c.close(); catch(MalFormedURLException e) { } }