+: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