La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Propiedades del Sistema La clase Properties Streams Consola I/O Entrada y Salida Archivos: File Colecciones Iteradores Maps.

Presentaciones similares


Presentación del tema: "Propiedades del Sistema La clase Properties Streams Consola I/O Entrada y Salida Archivos: File Colecciones Iteradores Maps."— Transcripción de la presentación:

1

2

3 Propiedades del Sistema La clase Properties Streams Consola I/O Entrada y Salida Archivos: File Colecciones Iteradores Maps

4 Las propiedades del sistema es una característica que reemplaza el concepto de variables de entorno (que son específicos de la plataforma) El método System.getProperties retorna el objeto Properties. El método getProperty retorna un String que representa el valor de la propiedad con dicho nombre Usar la opción -D para incluir una nueva propiedad

5 La clase Properties implementa un mapeo de nombre a valor. El método propertyNames retorna un Enumeration de todos los nombres de las propiedades. Se puede leer o escribir una colección de properties a un archivo utilizando load y store.

6 La mayoría de los programas trabajan con datos externos almacenados en archivos locales o provenientes de otras máquinas de la red Java trabaja con el concepto de streams de datos Abstraen el concepto de intercambio de información entre varios dispositivos y provee una interfaz consistente para interactuar con las diferentes fuentes de E/S.

7 Luego de que los datos físicos se mapean a un stream, un programa Java puede leer los datos de ese stream de forma serial (de a byte, de a char, etc.) Algunos tipos de streams son los streams de bytes (InputStream, OutputStream) y de caracteres (Reader and Writer). El mismo archivo físico puede ser leído utilizando distintos tipos de streams, por ejemplo FileInputStream, or FileReader.

8 Al trabajar con un stream, se debería: Abrir el stream que apunte a una fuente de datos específica: un archivo, un socket, URL, etc. Leer o escribir datos desde/a el stream Cerrar el stream

9

10 El System.out le permite escribir a la salida estándar Es un objeto de tipo PrintStream. El System.in le permite leer de la entrada estándar Es un objeto de tipo InputStream. El System.err le permite escribir a la error estándar Es un objeto de tipo PrintStream.

11 InputStreamReader isr = new InputStreamReader(System.in); BufferedReader br = new BufferedReader(isr); try { String linea = br.readLine(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }

12 El método println imprime el argumento y baja de línea(\n) El método print imprime el argumento sin la línea nueva (\n) Los métodos print y println son sobrecargados para los tipos primitivos (boolean, char, int, long,float, and double) y para char[], Object y String.

13 Crear objetos File Manipular objetos File Leer y escribir de archivo

14 try { File file = new File("filename"); // Crear el archivo si no existe boolean success = file.createNewFile(); if (success) { // El archivo no existía y fue creado } else { // El archivo ya existía } } catch (IOException e) { }

15 File names: String getName() String getPath() String getAbsolutePath() String getParent() boolean renameTo(File newName) File tests: boolean exists() boolean canWrite() boolean canRead() boolean isFile() boolean isDirectory() boolean isAbsolute();

16 File input: Use la clase FileReader para leer caracteres Use la clase BufferedReader para utilizar el método readLine File output: Use la clase FileWriter para escribir caracteres Use la clase PrintWriter para utilizar los métodos print y println

17 File input: FileReader fr = new FileReader("filename"); BufferedReader br = new BufferedReader(fr); String line = br.readLine(); fr.close(); File output: File file = new File("filename"); PrintStream print = new PrintStream(file); print.println("Hola Mundo"); print.close();

18 Properties prop = new Properties(); InputStream is = null; try { is = new FileInputStream("d:\fichero.properties"); prop.load(is); } catch (IOException ioe) { } for (Enumeration e = prop.keys(); e.hasMoreElements() ; ) { // Obtenemos el objeto Object obj = e.nextElement(); System.out.println(obj + ": " + prop.getProperty(obj.toString())); }

19 Java provee un framework que permite trabajar con colecciones de objetos Una colección permite que varios objetos sean tratados como una unidad Los objetos pueden ser almacenados, recuperados y manipulados como elementos en una colección Este framework se encuentra en el paquete java.util

20 Hay ciertas operaciones básicas en las que vamos a usar colecciones: Agregar objetos a una colección Eliminar objetos de una colección Chequear si uno o un grupo de objetos pertenece a determinada colección Poder obtener objetos de una colección Recorrer una colección, obteniendo cada uno de los objetos almacenados

21 Comprende las siguientes partes: Interfaces que permiten manipular colecciones independientemente de su implementación Un pequeño grupo de implementaciones Clases que proveen utilidades para operar sobre colecciones como ordenamiento, búsqueda, etc.

22 Collection Interfaz básica que define las operaciones normales que permiten mantener y manipular un grupo de objetos Set Extiende Collection para representar un conjunto de elementos únicos Sorted Set Extiende Set para agregar funcionalidades para mantener un conjunto de elementos de forma ordenada

23 List Extiende Collection para mantener una secuencia de elementos que no tienen que ser únicos Map Interfaz básica que define operaciones para mantener mapeos entre claves y valores SortedMap Extiende Map para mantener los elementos en orden

24

25

26 int size() boolean isEmpty() boolean contains(Object element) boolean add(Object element) boolean remove(Object element)

27 boolean containsAll(Collection c) boolean addAll(Collection c) boolean removeAll(Collection c) boolean retainAll(Collection c) void clear()

28 Las colecciones proveen un iterador que permiten acceso secuencial a los elementos Se puede obtener un iterador invocando al siguiente método definido en la interfaz Collection: Iterator iterator() Retorna un objeto que implementa la interfaz Iterator

29 Métodos: boolean hasNext() Object next() Object remove()

30 Un Iterator de un Set es desordenado Un ListIterator de un List puede recorrer la lista en ambos sentidos, utilizando next o previous: List list = new ArrayList(); // add some elements Iterator elements = list.iterator(); while ( elements.hasNext() ) { System.out.println(elements.next()); }

31 El paquete java.util provee implementaciones basadas en las interfaces principales Agrega clases abstractas que son las bases sobre las cuales se implementan las clases concretas

32

33 No admiten duplicados Puede contener a lo sumo un valor null La interfaz Set no agrega operaciones HashSet implementa Set Utiliza una tabla de hash No garantiza orden de los elementos LinkedHashSet subclase de HashSet garantiza orden de inserción

34 Admiten duplicados y mantienen sus elementos en orden Cada elemento ocupa una posición en la lista cuya numeración comienza en cero Agrega operaciones para trabajar especificamente con listas Agregan un iterador particular para iterar sobre listas en ambas direcciones Se proveen 3 implementaciones de List: ArrayList, LinkedList y Vector

35 Definen mapeos clave valor Al par se le llama entrada No admiten claves duplicadas Cada clave se mapea a un único valor Las claves y valores tienen que ser objetos, los tipos primitivos deben ser envueltos en sus clases wrapper El Map no es una colección (no extiende Collection)

36 Operaciones básicas Object put(Object key) Object get(Object key) Object remove(Object key) boolean containsKey(Object key) boolean containsValue(Object value) int size() boolean isEmpty() Implementaciones de Map: HashMap, LinkedHashMap, HashTable

37 Sets y Maps tienen interfaces especiales para implementaciones que ordenan sus elementos de acuerdo a un orden específico Los objetos pueden especificar su orden natural implementando la interfaz Comparable o de acuerdo a un orden total a través de un objeto comparador que implemente la interfaz Comparator Implementaciones: TreeSet y TreeMap

38 Comparator El control de la ordenación se puede lograr creando un objeto comparador que imponga el orden total de los elementos de una colección La interfaz tiene un único método: int compare(Object o1, Object o2)

39 Comparable Una clase puede definir el orden natural de sus instancias implementando esta interfaz Muchas clases de la API de Java como los wrappers, String, Date, etc, implementan esta interfaz. Único método: int compareTo(Object o)

40

41 Vector implements la interface List. Stack es una subclase de Vector y soporta los métodos push, pop y peek. Hashtable implements la interface Map. Enumeration es una variación de la interface Iterator: Un enumeration es retornado por el método elements de Vector, Stack y Hashtable Esas clases son thread-safe, y debido a eso, pesadas.

42 Propiedades del Sistema La clase Properties Streams Consola I/O Entrada y Salida Archivos: File Colecciones Iteradores Maps

43 Thinking in Java Bruce Eckel The Java Tutorial SCJP Kathy Sierra – Cap. 7 – Generics and Collections


Descargar ppt "Propiedades del Sistema La clase Properties Streams Consola I/O Entrada y Salida Archivos: File Colecciones Iteradores Maps."

Presentaciones similares


Anuncios Google