miércoles, 2 de julio de 2014

MODULO 10:  I/O Fundamentales

Construir un programa con argumentos y linea de comandos
Para pasarle valores a los argumentos desde consola

public class UnoDC {

public static void main(String[] args) {
       /* for (String stg : args) {
            System.out.println("arg["+stg +"]= " + stg);
        }*/
        for (int i = 0; i < args.length; i++) {
            System.out.println("arg["+i +"]= " + args[i]);
        }
       
    }

}

C:\Users\Samuel\Desktop\Mod10C>javac UnoDC.java
C:\Users\Samuel\Desktop\Mod10C>javac UnoDC.java

Si se debe almacenar en otro lado de pone -d (con minúscula) y luego y se puede especificar que se ponga en otro con ../otra : esto sirve para decir que se encuentra atrás.



Examinar las propiedades de clase

Poner atención en estos métodos, revisar los metodos que regresan estos métodos (getProperties)

static Map<String,String>getenv()
          Returns an unmodifiable string map view of the current system environment.
static Stringgetenv(String name)
          Gets the value of the specified environment variable.
static PropertiesgetProperties()
          Determines the current system properties.
static StringgetProperty(String key)
          Gets the system property indicated by the specified key.
static StringgetProperty(String key, String def)
          Gets the system property indicated by the specified key.


Dos tipos de propiedades
   Del sistema
   Del entorno


Agregar una propiedad al sistema desde comandos
javac A-java
java -Dminombre=SamuelC A

desde Netbeans se hace desde Propiedades/Run/ VM-Option
y luego:
 -DnombreAlumno=S.C.S

Es la opción -D para agregar una propiedad.

Construir nodos y flujos de procesamiento, y propiedades
java.io.InputStream
java.io.Reader


Serializable y deserializable de objetos
Serialización de Objetos


Para serializar ademas de utilizar
 try {
         FileOutputStream fos = new FileOutputStream("NoVemosSUSCaricaturas");
         ObjectOutputStream oos = new ObjectOutputStream(fos); //hace la serializacion por medio de writeObject
         oos.writeObject(ae); //serializa el objeto aerolinea
       
         oos.close();
       
     } catch (Exception e) {
         System.out.println("Error");
     }

debemos de implementar la interfaz Serializable en cada una de las clases usadas A MENOS que sean hijas, si son hijas NO ES NECESARIO, puesto que si en la clase padre se implementa con eso basta.

Si NO QUIERES QUE un objeto sea serializable puedes quitar la implementación de esa clase y marcarlo como no serializable a traves de la palabra reservada: transient

Deserialización
 //Deserealizar Aerolinea
     ae = null;
     System.out.println("Antes de deserializar: "+ae);
   
     try {
         FileInputStream fis = new FileInputStream("NoVemosSUSCaricaturas.txt");
         ObjectInputStream ois = new ObjectInputStream(fis);
         ae = (Aerolinea) ois.readObject();
         
         System.out.println("Deserealizado: "+ae);
       
     } catch (Exception e) {
         System.out.println("Error al deserealizar");
     }