[código] Ejemplo de la clase File en Java
En el siguiente ejemplo veremos algunas de las características de la clase File del paquete java.io. Los métodos tratados en el siguiente ejercicio son:
existque devuelve true si el archivo o directorio existegetNameque devuelve el nombre del directorioisFileque devuelve true si el objeto File es un archivoisDirectoryque devuelve true si el objeto File es un directorioisAbsoluteque devuelve true si la ruta es absolutalastModifieddevuelve la fecha de la última modificaciónlengthque devuelve la longitud del archivo o directoriogetPathygetAbsolutePathque devuelven la ruta y ruta absoluta respectivamentegetParentque devuelve el nombre del directorio padrelistque devuelve un arreglo de Strings con los nombres de los archivos y directorios
Vamos a ver el ejemplo:


// Demostracion de la clase File.
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class PruebaFile extends JFrame
implements ActionListener {
private JTextField campoEntrada;
private JTextArea areaSalida;
// configurar GUI
public PruebaFile()
{
super( "Prueba de la clase File" );
campoEntrada = new JTextField( "Escriba el nombre del archivo o directorio, por ejemplo / o C:\\" );
campoEntrada.addActionListener( this );
areaSalida = new JTextArea();
areaSalida.setEditable(false);
Container contenedor = getContentPane();
contenedor.add( campoEntrada, BorderLayout.NORTH );
contenedor.add( new JScrollPane(areaSalida), BorderLayout.CENTER );
setSize( 400, 400 );
setVisible( true );
} // fin del constructor
// mostrar informacion acerca del archivo especificado por el usuario
public void actionPerformed( ActionEvent eventoAccion )
{
File nombre = new File( eventoAccion.getActionCommand() );
// si nombre existe, mostrar informacion sobre el
if ( nombre.exists() ) {
areaSalida.setText( nombre.getName() + " existe\n" +
( nombre.isFile() ? "es un archivo\n" : "no es un archivo\n" ) +
( nombre.isDirectory() ? "es un directorio\n" :
"no es un directorio\n" ) +
( nombre.isAbsolute() ? "es una ruta absoluta\n" :
"no es una ruta absoluta\n" ) + "ultima modificacion: " +
nombre.lastModified() + "\nLongitud: " + nombre.length() +
"\nRuta: " + nombre.getPath() + "\nRuta absoluta: " +
nombre.getAbsolutePath() + "\nPadre: " + nombre.getParent() );
// mostrar informacion si nombre es un archivo
if ( nombre.isFile() ) {
// anexar el contenido del archivo a areaSalida
try {
BufferedReader entrada = new BufferedReader(
new FileReader( nombre ) );
StringBuffer bufer = new StringBuffer();
String texto;
areaSalida.append( "\n\n" );
while ( ( texto = entrada.readLine() ) != null )
bufer.append( texto + "\n" );
areaSalida.append(bufer.toString());
}
// procesar los problemas en el procesamiento del archivo
catch( IOException excepcionES ) {
JOptionPane.showMessageDialog( this, "ERROR EN ARCHIVO",
"ERROR EN ARCHIVO", JOptionPane.ERROR_MESSAGE );
}
} // fin de instruccion if
// mostrar listado de directorio
else if ( nombre.isDirectory() ) {
String directorio[] = nombre.list();
areaSalida.append( "\n\nContenido del directorio:\n");
for ( int i = 0; i < directorio.length; i++ )
areaSalida.append( directorio[ i ] + "\n" );
}
} // fin de instruccion if externa
// no es archivo ni directorio, mostrar mensaje de error
else {
JOptionPane.showMessageDialog( this,
eventoAccion.getActionCommand() + " no existe",
"ERROR", JOptionPane.ERROR_MESSAGE );
}
} // fin del metodo actionPerformed
public static void main( String args[] )
{
JFrame.setDefaultLookAndFeelDecorated(true);
PruebaFile aplicacion = new PruebaFile();
aplicacion.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
} // fin de la clase PruebaFile
Los ejercicios utilizados en este post están basados en ejemplos del libro Cómo programar en Java de Deitel, y por lo tanto están bajo la licencia que esta editorial disponga.
13 Comentarios | deja el tuyo





Quisiera un ejemplo de busqueda estoy haciendo un sistema ya hice la busqueda pero con un dialogo , pero he visto una busqueda en otro lenguaje en visual fox con un TexField se escribe lo que estas buscando y la barra del cursor se va ubicando en el registro especificado bueno eso es lo que necesito en estos momentos si tienen un ejemplo por favo mandamelo a mi correo
necesito aprender amanejar urjente
Entra en una escuela de conducción, y allá te enseñan.
Un saludo!
hey gracias fue de mucha ayuda tu informacion
buenos dias, quisiera q por favor me indicaras cual son los metodos o clases para manejar archivos de acceso secuencial y aleatorios, es q no lo entiendo muy bien….
y si tienes un ejemplo seria mucho mejor sino, no importa…
gracias por tu colaboracion…
amigo estaria a tu disposicion indicarme como esta dividido el valor que retorna lastModified() ya que intente usarlo para validar la fecha de un archivo y la fecha de modificacion es diferente a la que en realidad tiene el archivo
el numero que me devuelve es:
1274061067046
y deberia acomodarse aqui segun el API:
(00:00:00 GMT, January 1, 1970)
el archivo fue creado 16 de mayo de 2010 a las 21:52 aprox
Gracias por el Post esta muy bueno Gracias
Siempre con tus grandes aportes !!!
como se declara un arreglo tipo clase File que en cada posicion guarda la ruta que yo quiero?
Sería algo como:
File[] archivos = new File[5];// este guardaría 5 archivosarchivos[0] = new File("/ruta/archivo.ext");
archivos[1] = new File("/foo/bar/document.doc");
Saludos!
hola que tal espero que me puedan colaborar ya que es bastante importante para mi pero es que necesito almacenarinformacion en java la cual no sea temporal. me pueden decir como hacerlo?? serande gran ayuda todas sus respuestas. Gracias
hola que tal sabe qe eh estado batachando kn lo de las modificaciones creo qe el codigo que tengo no… seria tan amable de enviarme el codigo para hacer las modificaciones lo mas pronto qe se pueda x favor..
en si que es lo que necesitas para poderte colaborar mi correo es neso255@hotmail.com para que me envies el problema a resolver