Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej: alfabetico(“hola”)=true,

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Advertisements

Archivos Binarios Usando Serializable. Introducción Utilizar archivos binarios nos ayuda a guardar y leer más fácilmente los datos de archivos. Pero como.
Archivos Binarios. Introducción En clase ya vimos el uso de archivos de texto en Java, pero el uso de archivos es mucho más poderoso que eso, al utilizar.
Tema 1. Introducción a la programación (Lenguaje java).
Archivos Contenido: Archivos de Texto Archivos de Acceso Aleatorio
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.
Igor Santos Grueiro. Ahora tenemos datos y datos …
1 Streams en Java Agustín J. González ELO Generalidades Un Stream es simplemente una fuente o destino de bytes. Los streams más comunes son los.
Suponiendo que además en la clase U hay: import java.util.*; class U{ static Scanner teclado = new Scanner(System.in); static public int readInt(String.
Repaso/resumen 1.lectura/escritura y asignación 2.funciones 3.selección de instrucciones (if-else) 4.repetición de instrucciones (while) 5.recursión 6.operadores/instrucciones.
1 Persistencia en Java Agustín J. González ELO-329.
Entrada y Salida Java. Clase File La clase File proporciona mucha informacion relacionada con archivos y con la obtencion de informacion basica sobre.
Programación Orientada a Objetos
USO DE EXCEPCIONES EN JAVA LSC. Natalia Rodríguez Castellón.
Programación Orientada a Objetos Unidad 4 Excepciones Universidad de Chile Departamento de Ciencias de la Computación.
PAQUETES Un paquete es un conjunto de clases, interfaces y subpaquetes relacionados. El paquete define un ámbito de visibilidad: los miembros que no tienen.
Java.
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
1 Streams y Persistencia en Java Agustín J. González ELO-329.
2. Strings, Archivos y Arreglos
Universidad de Chile - Tupper 2007, Santiago - Fono/Fax: (56 2) cec.uchile.cl Módulo ECI - 11: Fundamentos de Redes de Computadores.
INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS ALUMNO: JAVIER MARTINEZ MARTINEZ.
Metodología de Programación Ayudantía 4 lelagos.ublog.cl 2009.
Ing. Esp. Ricardo Cujar. Permite la ejecución de una sentencia, dada una determinada condición. If(condición){ sentencia(s) a ejecutar en caso de que.
Estrategias de Persistencia. Program start Program execution Time Program start Program end Object creation Object edition Program end Object Lifetime.
Archivos de Propiedades
ESTRUCTURA DE UN PROGRAMA EN
Flujos de datos Un flujo es un canal por donde fluyen los datos.
Archivos en Java Unidad III – Programación Orientada a Objetos en Java Programación I
Clase1: lectura/escritura/asignación
Clase 8: Strings Valeria Herskovic –
Clase 8: Strings J.Alvarez.
Repaso/resumen lectura/escritura y asignación funciones
Introducción a Base de Datos
Repaso/resumen: Introducción a la Programación orientada a objetos

Clase 8: Strings J.Alvarez.
Clase 8: Repaso/Resumen
Objeto de clase Fracción métodos públicos representación privada constructor Fraccion(…) asigna a procedimiento void m(…) modifica b función tipo/clase.
Persistencia y Serialización en Java con Archivos
Teclado y Pantalla (Java estándar)
Programación Orientada a Objetos
Servlets Servlets Son modulos que extienden las funcionalidades de un servidor “java-enabled” Normalmente generan código HTML dinámicamente, el cual se.
Repaso/resumen: Introducción a la Programación orientada a objetos
Lenguaje Java: características técnicas
Import java.util.Scanner; public class While1 { public static void main(String[] ar) { Scanner teclado=new Scanner(System.in); int x,suma,valor,promedio;
Streams y Persistencia en Java
Qué es orientación a objeto ?
Clase 7 Strings 28 de Marzo (N.Baloian).
Clase 8: Strings J.Alvarez.
Qué es orientación a objeto ?
La internet Unifica el lenguaje básico de los computadores para intercambiar datos Este lenguaje o protocolo se llama TCP/IP Consiste en un esquema de.
Repaso/resumen: Introducción a la Programación orientada a objetos
Clase1: lectura/escritura/asignación
Clase 8: Strings 29-marzo (N.Baloian).
String, random y stream en java
Parametros multivalores
Clase 10 (Repaso/Resumen)
Leyendo strings de la línea de comandos
Ejemplos de uso //obtener una respuesta “si” o “no” static public String siNo(String x) throws IOException{ String r=U.readLine(x+” si o no?”) .trim().toLowerCase();
Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej:
5-abril (J.Alvarez) 5-abril (J.Alvarez)
Clase1: lectura/escritura/asignación
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
Programación Orientada a Objetos
Lenguaje Java: características técnicas
Clase 8: Strings.
5-abril (J.Alvarez) La Clase File Representa un archivo en forma abstracta Contiene el nombre, pero no se puede leer o escribir.
Qué es orientación a objeto ?
Transcripción de la presentación:

Problemas de Strings boolean palindrome(String x) Ej: palindrome(“reconocer”)=true boolean alfabetico(String x) Ej: alfabetico(“hola”)=true, alfabetico(“123”)=false boolean válido(String x,String y) Ej: válido(“123”,”0123456789”)=true

Problemas de Archivos y Strings Para cada pregunta de la prueba solemne se generó un archivo con la siguiente información: por cada línea viene el numero de matrícula de un alumno, un espacio y la nota en la pregunta. Los archivos se llaman S1P1.txt S2P2.txt y S3P3.txt. Se pide generar un archivo que contenga el numero de matrícula del alumno y las notas de cada pregunta y luego el promedio (separando cada información por un espacio). A) suponga que en los 3 archivos vienen las notas para todos los alumnos (si no entrego tiene un 1) y los números de matrícula están ordenados ascendentemente en todos los archivos. B) suponga se quiere tener el archivo resultado con los nombres de los alumnos en orden alfabético. Se tiene, además de los archivos mencionados (ordenados por numero de matrícula) un archivo en que viene por cada línea el número de matrícula, un espacio y el resto corresponde al nombre. Los datos vienen por orden alfabético de nombres C) suponga que para el caso A no vienen datos cuando el alumno no entregó la pregunta

Escribiendo archivos de texto en JAVA Para abrir el archivo para escribir: PrintWriter x = new PrintWriter ( new FileWriter(filename)) Se pueden escribir líneas con los siguientes métodos: x.print(string) x.println(string) Si existía un archivo con ese nombre se borra y es reemplazado por el que genere el programa Es importante hacer al final x.close() para asegurarse que los datos que aún están en el buffer sean traspasados. Copyfile Replace

import java.io.*; import java.util.*; public class Replace { public static String replace(String x, String y, String z) { String s = ""; while(true) { int i = x.indexOf(y); if (i == -1) break; s = s + x.substring(0,i) + z; x = x.substring(i+y.length()); } s = s + x; return s;

public static void main(String[] args) throws IOException { Scanner c = new Scanner(System.in); System.out.print("archivo de origen ? "); String origen = c.nextLine(); System.out.print("archivo de destino ? "); String destino = c.nextLine(); System.out.print("patron a buscar ? "); String original = c.nextLine(); System.out.print("reemplazo ? "); String thenew = c.nextLine(); BufferedReader in = new BufferedReader( new FileReader(origen)); PrintWriter out = new PrintWriter( new FileWriter(destino));

int i = 0; String line = null; while(true) { line = in.readLine(); if (line == null) break; String modified = replace(line, original, thenew); out.println(modified); i++; } out.close(); System.out.println("file "+origen+" copied into file "+destino+" ("+i+" lines)");

in = new BufferedReader( new FileReader(args[0])); out = new PrintWriter( new FileWriter(args[1])); int i = 0; String line = null; while(true) { line = in.readLine(); if (line == null) break; out.println(line); i++; } out.close(); System.out.println("file "+args[0]+" copied into file "+args[1]+" ("+i+" lines)");

Archivos de bytes public FileInputStream(String name) public int read() public int read(byte[] b) public int read(byte[] b, int off, int len) Se verifica el fin de archivo cuando retorna un -1 public FileOutputStream(String name) public FileOutputStream(String name, boolean append) public void write(int b) public void write(byte[] b) public void write(byte[] b, int off, int len)

import java.io.*; import java.net.*; public class CopyFileBytes { public static void main(String[] args) throws Exception { InputStreamReader inFile = new InputStreamReader( new FileInputStream(args[0])); FileOutputStream outFile = new FileOutputStream(args[1]); System.out.println("Copying "+args[0]+" into "+args[1] ); int b; byte ab[] = new byte[1024]; while ((b= inFile.read(ab,0,1024) ) != -1) { outFile.write(ab,0,b); } inFile.close(); outFile.close();

Archivos de acceso aleatorio public RandomAccessFile(String name, String mode) mode “r”= read, “rw”= read/write El archivo se organiza como un arreglo de bytes el método seek(long i) posiciona el file pointer delante del i-esimo byte. Desde ahí se puede escribir o leer con distintos métodos, de acuerdo a lo que se necesite, por ej: readInt() writeInt(int i) readChar() writeChar(char c) readString() writeString(String s) etc....

Escritura de números en un archivo de acceso aleatorio import java.io.*; import java.util.*; public class WriteRandom { public static void main(String[] args) throws Exception { RandomAccessFile numeros =new RandomAccessFile("Numeros","rw"); for(int i = 0; i < 100; i++) numeros.writeInt(i*2); numeros.close(); }

Lectura de números en un archivo de acceso aleatorio import java.io.*; import java.util.*; public class ReadRandom { public static void main(String[] args) throws Exception { RandomAccessFile numeros =new RandomAccessFile("Numeros","rw"); Scanner C = new Scanner(System.in); while(true) { System.out.print("Numero de registro ? "); int n = C.nextInt(); if (n < 0) break; numeros.seek(n*4); int contenido = numeros.readInt(); System.out.println("Registro "+n+" Contenido "+contenido); }

Archivos de objetos Lectura FileInputStream istream = new FileInputStream("t.tmp"); ObjectInputStream p = new ObjectInputStream(istream); int i = p.readInt(); String today = (String)p.readObject(); Date date = (Date)p.readObject(); istream.close();

Archivos de objetos: escritura FileOutputStream ostream = new FileOutputStream("t.tmp"); ObjectOutputStream p = new ObjectOutputStream(ostream) p.writeInt(12345); p.writeObject("Today"); p.writeObject(new Date()); p.flush(); ostream.close(); EL OBJETO DEBE SER SERIALIZABLE !!!!! (ver clase MyDate)