+:apuntes
This commit is contained in:
parent
91f6878b24
commit
f1fd853e9d
71
Apuntes_guia/lectura_escritura/CrearArchivoBinario.java
Normal file
71
Apuntes_guia/lectura_escritura/CrearArchivoBinario.java
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
package lectura_escritura_archivos; /** @author jp.av.dev@gmail.com */
|
||||||
|
|
||||||
|
import java.io.FileOutputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectOutputStream;
|
||||||
|
import java.util.Scanner;
|
||||||
|
|
||||||
|
public class CrearArchivoBinario {
|
||||||
|
|
||||||
|
private ObjectOutputStream salida;
|
||||||
|
|
||||||
|
public void abrirArchivo() {
|
||||||
|
try {
|
||||||
|
salida = new ObjectOutputStream(new FileOutputStream("C:\\archivos\\personas.ser"));
|
||||||
|
} catch (IOException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void agregarRegistros() {
|
||||||
|
Persona objPersona;
|
||||||
|
String nombre;
|
||||||
|
String direccion;
|
||||||
|
String nacionalidad;
|
||||||
|
int edad;
|
||||||
|
double salario;
|
||||||
|
|
||||||
|
Scanner entrada = new Scanner(System.in);
|
||||||
|
System.out.println("Introduzca los datos de la persona\n Para terminar escriba el indicador"
|
||||||
|
+ "de fin de archivo.\nPara UNIX/LINUX o Mac OS X, escriba <ctrl> d y oprima intro."
|
||||||
|
+ "Para Wintendo escriba \n <ctrl> z y oprima intro.\n\n");
|
||||||
|
System.out.println("Escribe el nombre, la dirección, la nacionalidad,\n"
|
||||||
|
+ "la edad y el salario de la persona");
|
||||||
|
|
||||||
|
while( entrada.hasNext() ) {
|
||||||
|
try {
|
||||||
|
nombre =entrada.next();
|
||||||
|
direccion = entrada.next();
|
||||||
|
nacionalidad = entrada.next();
|
||||||
|
edad = entrada.nextInt();
|
||||||
|
salario = entrada.nextDouble();
|
||||||
|
|
||||||
|
objPersona = new Persona(nombre, direccion, nacionalidad, edad, salario);
|
||||||
|
salida.writeObject(objPersona);
|
||||||
|
} catch( IOException ex ) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
System.out.println("Escribe el nombre, la dirección, la nacionalidad,\n"
|
||||||
|
+ "la edad y el salario de la persona");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cerrarAchivo() {
|
||||||
|
try {
|
||||||
|
if ( salida != null) {
|
||||||
|
salida.close();
|
||||||
|
}
|
||||||
|
} catch (IOException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
CrearArchivoBinario aplicacion = new CrearArchivoBinario();
|
||||||
|
|
||||||
|
aplicacion.abrirArchivo();
|
||||||
|
aplicacion.agregarRegistros();
|
||||||
|
aplicacion.cerrarAchivo();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
118
Apuntes_guia/lectura_escritura/EligeFoto.java
Normal file
118
Apuntes_guia/lectura_escritura/EligeFoto.java
Normal file
@ -0,0 +1,118 @@
|
|||||||
|
package lectura_escritura_archivos;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import javax.swing.ImageIcon;
|
||||||
|
import javax.swing.JFileChooser;
|
||||||
|
import javax.swing.filechooser.FileNameExtensionFilter;
|
||||||
|
|
||||||
|
|
||||||
|
public class EligeFoto extends javax.swing.JFrame {
|
||||||
|
|
||||||
|
// Creates new form EligeFoto
|
||||||
|
public EligeFoto() {
|
||||||
|
initComponents();
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* This method is called from within the constructor to initialize the form.
|
||||||
|
* WARNING: Do NOT modify this code. The content of this method is always
|
||||||
|
* regenerated by the Form Editor.
|
||||||
|
*/
|
||||||
|
@SuppressWarnings("unchecked")
|
||||||
|
// <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
|
||||||
|
private void initComponents() {
|
||||||
|
|
||||||
|
jButton1 = new javax.swing.JButton();
|
||||||
|
imagen = new javax.swing.JLabel();
|
||||||
|
|
||||||
|
setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
|
||||||
|
|
||||||
|
jButton1.setText("Cargar Imagen");
|
||||||
|
jButton1.addActionListener(new java.awt.event.ActionListener() {
|
||||||
|
public void actionPerformed(java.awt.event.ActionEvent evt) {
|
||||||
|
jButton1ActionPerformed(evt);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
|
||||||
|
getContentPane().setLayout(layout);
|
||||||
|
layout.setHorizontalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||||
|
.addContainerGap(109, Short.MAX_VALUE)
|
||||||
|
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 265, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addGap(106, 106, 106))
|
||||||
|
.addGroup(layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(imagen, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
layout.setVerticalGroup(
|
||||||
|
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
|
||||||
|
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
|
||||||
|
.addContainerGap()
|
||||||
|
.addComponent(imagen, javax.swing.GroupLayout.DEFAULT_SIZE, 307, Short.MAX_VALUE)
|
||||||
|
.addGap(18, 18, 18)
|
||||||
|
.addComponent(jButton1, javax.swing.GroupLayout.PREFERRED_SIZE, 54, javax.swing.GroupLayout.PREFERRED_SIZE)
|
||||||
|
.addContainerGap())
|
||||||
|
);
|
||||||
|
|
||||||
|
pack();
|
||||||
|
}// </editor-fold>//GEN-END:initComponents
|
||||||
|
|
||||||
|
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton1ActionPerformed
|
||||||
|
File imgFile;
|
||||||
|
JFileChooser chooser = new JFileChooser();
|
||||||
|
FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivos de imagen jpg, gif o png",
|
||||||
|
"jpg", "gif", "png");
|
||||||
|
chooser.setFileFilter(filter);
|
||||||
|
|
||||||
|
int returnVal = chooser.showOpenDialog(this);
|
||||||
|
|
||||||
|
if ( returnVal == JFileChooser.APPROVE_OPTION) {
|
||||||
|
imgFile = chooser.getSelectedFile();
|
||||||
|
ImageIcon icon = new ImageIcon(chooser.getSelectedFile().getAbsolutePath());//otra forma sería -> imageIcon.getAbsolutPath()
|
||||||
|
imagen.setIcon(icon);
|
||||||
|
}
|
||||||
|
}//GEN-LAST:event_jButton1ActionPerformed
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @param args the command line arguments
|
||||||
|
*/
|
||||||
|
public static void main(String args[]) {
|
||||||
|
/* Set the Nimbus look and feel */
|
||||||
|
//<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
|
||||||
|
/* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
|
||||||
|
* For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
|
||||||
|
*/
|
||||||
|
try {
|
||||||
|
for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
|
||||||
|
if ("Nimbus".equals(info.getName())) {
|
||||||
|
javax.swing.UIManager.setLookAndFeel(info.getClassName());
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} catch (ClassNotFoundException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(EligeFoto.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (InstantiationException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(EligeFoto.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (IllegalAccessException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(EligeFoto.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
} catch (javax.swing.UnsupportedLookAndFeelException ex) {
|
||||||
|
java.util.logging.Logger.getLogger(EligeFoto.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
|
||||||
|
}
|
||||||
|
//</editor-fold>
|
||||||
|
|
||||||
|
/* Create and display the form */
|
||||||
|
java.awt.EventQueue.invokeLater(new Runnable() {
|
||||||
|
public void run() {
|
||||||
|
new EligeFoto().setVisible(true);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// Variables declaration - do not modify//GEN-BEGIN:variables
|
||||||
|
private javax.swing.JLabel imagen;
|
||||||
|
private javax.swing.JButton jButton1;
|
||||||
|
// End of variables declaration//GEN-END:variables
|
||||||
|
}
|
46
Apuntes_guia/lectura_escritura/FileDemo.java
Normal file
46
Apuntes_guia/lectura_escritura/FileDemo.java
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
package lectura_escritura_archivos; /** @author jp.av.dev@gmail.com */
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
|
||||||
|
|
||||||
|
public class FileDemo {
|
||||||
|
|
||||||
|
public void analizarArchivo(String ruta) {
|
||||||
|
File nombre = new File(ruta);
|
||||||
|
|
||||||
|
if (nombre.exists()) {
|
||||||
|
System.out.println(nombre.getName() + " : Existe");
|
||||||
|
if (nombre.isDirectory()) {
|
||||||
|
System.out.println("Es un directorio");
|
||||||
|
} else if (nombre.isAbsolute()) {
|
||||||
|
System.out.println("Es una ruta Absoluta");
|
||||||
|
} else {
|
||||||
|
System.out.println("No es una ruta absoluta");
|
||||||
|
}
|
||||||
|
System.out.println("Ultima modificación : " + nombre.lastModified());
|
||||||
|
System.out.println("Tamaño de Archivo : " + nombre.length());
|
||||||
|
System.out.println("Ruta : " + nombre.getPath());
|
||||||
|
System.out.println("Ruta Absoluta : " + nombre.getAbsolutePath());
|
||||||
|
|
||||||
|
if (nombre.isDirectory()) { //Muestra el Directorio
|
||||||
|
String directorio[] = nombre.list();
|
||||||
|
System.out.println("Contenido del Directorio :\n");
|
||||||
|
|
||||||
|
for( String nombreDirectorio : directorio) {
|
||||||
|
System.out.println("Nombre Directorio :" + nombreDirectorio);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
System.out.println(ruta + " no existe");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
/**
|
||||||
|
//File nombreArchivo = new File("c:/prueba.bmp");
|
||||||
|
File nombreArchivo = new File("prueba.bmp");*/
|
||||||
|
FileDemo demo = new FileDemo();
|
||||||
|
//demo.analizarArchivo("prueba.bmp");
|
||||||
|
demo.analizarArchivo("C:/Users/FuzanToko/Documents/Java Proyects/JAVA desde 0 a S/Lectura_Escriutra_Archivos");
|
||||||
|
}
|
||||||
|
}
|
96
Apuntes_guia/lectura_escritura/LeerArchivoBinario.java
Normal file
96
Apuntes_guia/lectura_escritura/LeerArchivoBinario.java
Normal file
@ -0,0 +1,96 @@
|
|||||||
|
package lectura_escritura_archivos; /** @author jp.av.dev@gmail.com */
|
||||||
|
|
||||||
|
import java.awt.event.ActionEvent;
|
||||||
|
import java.awt.event.ActionListener;
|
||||||
|
import java.io.EOFException;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.ObjectInputStream;
|
||||||
|
import javax.swing.BoxLayout;
|
||||||
|
import javax.swing.JButton;
|
||||||
|
import javax.swing.JFrame;
|
||||||
|
import javax.swing.JScrollPane;
|
||||||
|
import javax.swing.JTable;
|
||||||
|
import javax.swing.table.DefaultTableModel;
|
||||||
|
|
||||||
|
|
||||||
|
public class LeerArchivoBinario extends JFrame {
|
||||||
|
|
||||||
|
private ObjectInputStream entrada;
|
||||||
|
private DefaultTableModel modelo;
|
||||||
|
|
||||||
|
public LeerArchivoBinario() {
|
||||||
|
modelo = new DefaultTableModel();
|
||||||
|
modelo.addColumn("Nombre");
|
||||||
|
modelo.addColumn("Dirección");
|
||||||
|
modelo.addColumn("Nacionalidad");
|
||||||
|
modelo.addColumn("Edad");
|
||||||
|
modelo.addColumn("Salario");
|
||||||
|
|
||||||
|
JTable table = new JTable(modelo);
|
||||||
|
JScrollPane scroll = new JScrollPane(table);
|
||||||
|
|
||||||
|
JButton boton = new JButton("Cargar Info");
|
||||||
|
boton.addActionListener(new ActionListener() {
|
||||||
|
@Override
|
||||||
|
public void actionPerformed(ActionEvent e) {
|
||||||
|
abrirArchivo();
|
||||||
|
leerRegistros();
|
||||||
|
cerrarArchivo();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
this.add(scroll);
|
||||||
|
this.add(boton);
|
||||||
|
this.setLayout(new BoxLayout(this.getContentPane(), BoxLayout.Y_AXIS));
|
||||||
|
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
|
this.setVisible(true);
|
||||||
|
this.pack();
|
||||||
|
}
|
||||||
|
|
||||||
|
public void abrirArchivo() {
|
||||||
|
try {
|
||||||
|
entrada = new ObjectInputStream(new FileInputStream("C:\\archivos\\personas.ser"));
|
||||||
|
} catch ( IOException ex) {
|
||||||
|
ex.printStackTrace();
|
||||||
|
System.out.println("Error al abrir archivo");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void leerRegistros() {
|
||||||
|
Persona objPersona;
|
||||||
|
try {
|
||||||
|
while (true){
|
||||||
|
objPersona = (Persona)entrada.readObject();
|
||||||
|
String nombre = objPersona.getNombre();
|
||||||
|
String direccion = objPersona.getDireccion();
|
||||||
|
String nacionalidad = objPersona.getNacionalidad();
|
||||||
|
int edad = objPersona.getEdad();
|
||||||
|
double salario = objPersona.getSalario();
|
||||||
|
|
||||||
|
String[] datosPersona = {nombre, direccion, nacionalidad, String.valueOf(edad), String.valueOf(salario)};
|
||||||
|
modelo.addRow(datosPersona);
|
||||||
|
}
|
||||||
|
} catch ( EOFException endOfFileException) {
|
||||||
|
return;//se llego al final del archivo
|
||||||
|
} catch ( IOException ex) {
|
||||||
|
System.err.println("Error de lectura de archivo");
|
||||||
|
} catch ( ClassNotFoundException ex) {
|
||||||
|
System.err.println("Error de crearción de objeto");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void cerrarArchivo() {
|
||||||
|
try {
|
||||||
|
if(entrada != null) {
|
||||||
|
entrada.close();
|
||||||
|
}
|
||||||
|
} catch (IOException ex) {
|
||||||
|
System.err.println("Error al cerrar el archivo");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
LeerArchivoBinario leer = new LeerArchivoBinario();
|
||||||
|
}
|
||||||
|
}
|
64
Apuntes_guia/lectura_escritura/Persona.java
Normal file
64
Apuntes_guia/lectura_escritura/Persona.java
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
package lectura_escritura_archivos; /** @author jp.av.dev@gmail.com */
|
||||||
|
|
||||||
|
import java.io.Serializable;
|
||||||
|
|
||||||
|
|
||||||
|
public class Persona implements Serializable {
|
||||||
|
|
||||||
|
private String nombre;
|
||||||
|
private String direccion;
|
||||||
|
private String nacionalidad;
|
||||||
|
int edad;
|
||||||
|
double salario;
|
||||||
|
//transient para atributos q no sean serializables, como por ejemplo un objeto personalizado Hijo.
|
||||||
|
public Persona(String nombre, String direccion, String nacionalidad, int edad, double salario) {
|
||||||
|
this.nombre = nombre;
|
||||||
|
this.direccion = direccion;
|
||||||
|
this.nacionalidad = nacionalidad;
|
||||||
|
this.edad = edad;
|
||||||
|
this.salario = salario;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNombre() {
|
||||||
|
return nombre;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNombre(String nombre) {
|
||||||
|
this.nombre = nombre;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getDireccion() {
|
||||||
|
return direccion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDireccion(String direccion) {
|
||||||
|
this.direccion = direccion;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getNacionalidad() {
|
||||||
|
return nacionalidad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setNacionalidad(String nacionalidad) {
|
||||||
|
this.nacionalidad = nacionalidad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getEdad() {
|
||||||
|
return edad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setEdad(int edad) {
|
||||||
|
this.edad = edad;
|
||||||
|
}
|
||||||
|
|
||||||
|
public double getSalario() {
|
||||||
|
return salario;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSalario(double salario) {
|
||||||
|
this.salario = salario;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user