Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Objetos 2
Alexander Morales-Gonzales
Recordando
Ejemplos de métodos:
iniciar_sesión( ), cerrar_sesión( ), editar_perfil( ), cambiar_contraseña( ),
publicar( ), etc.
Métodos principales de la clase File
RETORNO MÉTODOS DESCRIPCIÓN
Constructor que crea un File abriendo el archivo especificado en el
void File(String pathname)
parámetro.
Retorna verdadero si la aplicación puede ejecutar el archivo denotado
boolean canExecute()
en la ruta del File.
Retorna verdadero si la aplicación puede leer el archivo denotado en la
boolean canRead ()
ruta del File.
Retorna verdadero si la aplicación puede escribir en el archivo
boolean canWrite ()
denotado en la ruta del File
int compareTo(File pathname) Compara la ruta del File con la del parámetro alfabéticamente. Si son
iguales retorna 0.
boolean createNewFile() Crea un archivo vacío si el archivo con el nombre del File no existe.
boolean delete() Elimina el archivo denotado en la ruta del File.
boolean exists() Retorna verdadero si el archivo denotado en la ruta del File existe.
File getAbsoluteFile() Retorna la forma absoluta de la ruta del archivo.
RETORNO MÉTODO DESCRIPCIÓN
File getCanonicalFile () Retorna la forma canónica de la ruta del archivo.
Retorna el nombre del archivo o directorio representado en el
String getName()
File.
boolean isDirectory() Retorna verdadero si la ruta que representa el File es un
directorio.
boolean isFile() Retorna verdadero si la ruta que representa el File es un archivo.
boolean isHidden() Retorna verdadero si el archivo denotado en la ruta del File está
oculto.
long lastModified() Retorna el tiempo en el archivo denotado en la ruta del File fue
modificado.
Retorna el tamaño en bytes del archivo denotado en la ruta del
long length() File.
Crea un directorio llamado con el nombre y ruta denotado en el
boolean mkdir()
File.
Establece como archivo de solo lectura el archivo denotado en la
boolean setReadOnly()
ruta del File.
boolean setWritable(boolean writable) Establece como archivo escribible el archivo denotado en la ruta
del File.
Ejemplo de uso de los métodos:
• createNewFile,
• getAbsoluteFile,
• getName,
• isDirectory,
• isFile,
• lastModified, y
• length
import java.io.File;
import java.io.IOException;
import java.util.Date; // ****Programa 01: crear un archivo txt****
public class MiClase {
public static void main(String[] args) {
File archivo = new File("unam.txt");
System.out.println("El nombre del archivo es: "+archivo.getName());
System.out.println("Su dirección es: "+ archivo.getAbsoluteFile().toString());
try {
if(archivo.createNewFile()){
System.out.println("El archivo fue creado");;
}else{
System.out.println("El archivo NO fue creado");;
}
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Es directorio? "+archivo.isDirectory());
System.out.println("Es archivo? "+archivo.isFile());
System.out.println("Fecha de modificacion: "+archivo.lastModified());
Date fecha = new Date(archivo.lastModified());
System.out.println("Fecha de modificacion: "+fecha.toString());
System.out.println("Tamaño "+archivo.length());
}
}
Archivos secuenciales
Escritura en archivo secuencial
// ****Programa 02: crear un archivo txt y escribe en el****
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
public class miClase02 {
public static void main(String[] args) {
try {
File archivo = new File("unam_sistemas.txt");
FileWriter fw = new FileWriter(archivo);
BufferedWriter bw = new BufferedWriter(fw);
for(int i=1; i<=10; i++){
bw.write("Escritura en archivo # "+i);
bw.newLine();
}
bw.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Archivos secuenciales
Lectura en archivo secuencial
// programa 03: para leer el contenido de un archivo existente
import java.io.BufferedReader;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class EjemplosArchivos {// poner el nombre de la clase que se esta usando
public static void main(String[] args) {
try {
File archivo = new File("unam_sistemas.txt"); // poner el nombre txt
FileReader fr = new FileReader(archivo);
BufferedReader br = new BufferedReader(fr);
String cadena;
while((cadena=br.readLine())!=null){
System.out.println(cadena);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
Se acaba de leer el archivo que
previamente se creo en un código
anterior.
Archivos secuenciales
Archivos serializables
Los archivos serializables tienen la característica de poder almacenar objetos y no
texto. Un archivo serializable lo crea una aplicación y ella debe estar en la capacidad de
leer e interpretar dicho archivo.
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
public class EjemplosArchivos02 {
public static void main(String[] args) {
Persona p;
try {
File archivo = new File("docu1.txt"); // preparandonos para crear un nuevo archivo txt
FileOutputStream fos = new FileOutputStream(archivo);
ObjectOutputStream oos = new ObjectOutputStream(fos);
p=new Persona(1,"Hector","Florez","hf@unsa.edu.pe");
oos.writeObject(p);
p=new Persona(2,"Arturo","Fernandez","af@unsa.edu.pe");
oos.writeObject(p);
p=new Persona(3,"Juan","Valdez","jv@unsa.edu.pe");
oos.writeObject(p);
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
// PASO 3) LEER EL ARCHIVO ***************************
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.ObjectInputStream;
public class EjemplosArchivos04 {
public static void main(String[] args) {
Persona p;
try {
File archivo = new File("docu1.txt");
FileInputStream fis = new FileInputStream(archivo);
ObjectInputStream ois = new ObjectInputStream(fis);
p=(Persona)ois.readObject();
System.out.println(p.toString());
p=(Persona)ois.readObject();
System.out.println(p.toString());
p=(Persona)ois.readObject();
System.out.println(p.toString());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
}
}
Archivos secuenciales
Archivos Properties
Un archivo “properties” es un archivo secuencial que es usado
exclusivamente para lectura de informació n de propiedades
para una aplicació n. Este archivo se caracteriza porque en cada línea
debe haber un nombre de atributo seguido del carácter “=”
seguido del valor del atributo.
2. Realice una aplicación que permita leer un archivo que contenga números y calcule el
promedio de dichos números.
3. Realice una aplicación que permita leer y escribir múltiples objetos serializables en un
archivo.