Ficheros básico AYUDA PLEASE!!!!!
Solo estoi dando mis primeros pasos con los ficheros en java, tngo un peqeño codigo para crear un FILE, pero ni lo crea..ni nada...y si uso f.exists me dice q no existe ,x favor ayuda.Os adjunto el codigo:
import java.io.*;
class uso{
public static void main(String[] args) throws Exception
{
File f=new File("Ficheros","/carta.txt");
System.out.println(f.exists());
}
}
import java.io.*;
class uso{
public static void main(String[] args) throws Exception
{
File f=new File("Ficheros","/carta.txt");
System.out.println(f.exists());
}
}
Hola,...
En el empleo de la clase File debes considerar algunos conceptos básicos. El primero es que la llamada al constructor de esta clase no genera un fichero. Lo que se genera es un manejador para el FileSystem del sistema operativo que nos servirá para crear un fichero o un directorio concretos. Para que la implementación de la clase sea independiente del sistema operativo, se define un concepto fundamental llamado "abstract pathname" que, tal y como explica la API, está formado por dos elementos: el separador para el S.O. y el nombre de lo que se pretende crear...
Te paso un código de ejemplo de uso de la clase...
String parent = "c:\ruta donde crear el directorio o fichero crea2 utilizando \ como separador";
Si la variable parent es null, se toma como directorio raÃz aquél en el que se ubica la clase.
File f = new File(parent , "crea2");
System.out.println("AbsolutePath:"+f.getAbsolutePath());
System.out.println("AbsoluteFile:"+f.getAbsoluteFile());
System.out.println("Parent:"+f.getParent());
System.out.println("ParentFile:"+f.getParentFile());
System.out.println("Path:"+f.getPath());
System.out.println("Exist:"+f.exists());
boolean cr = f.mkdirs(); // Si no existen, se crean los directorios de la ruta especificada además del directorio especificado
System.out.println("Creado dir:"+cr);
System.out.println("Exist dir:"+f.exists());
Comprobarás que en la ruta especificada se crea un directorio crea2. Si lo que pretendes es crear un fichero crea2 en la ruta especificada entonces...
f.createNewFile();
System.out.println("Exist file:"+f.exists());
Tendrás que capturar o lanzar IOException para controlar el caso de que exista ya un fichero con ese nombre. Además sólo podrás crear un fichero o directorio con ese manejador, no ambos.
Espero que te sirva. Un saludo.
En el empleo de la clase File debes considerar algunos conceptos básicos. El primero es que la llamada al constructor de esta clase no genera un fichero. Lo que se genera es un manejador para el FileSystem del sistema operativo que nos servirá para crear un fichero o un directorio concretos. Para que la implementación de la clase sea independiente del sistema operativo, se define un concepto fundamental llamado "abstract pathname" que, tal y como explica la API, está formado por dos elementos: el separador para el S.O. y el nombre de lo que se pretende crear...
Te paso un código de ejemplo de uso de la clase...
String parent = "c:\ruta donde crear el directorio o fichero crea2 utilizando \ como separador";
Si la variable parent es null, se toma como directorio raÃz aquél en el que se ubica la clase.
File f = new File(parent , "crea2");
System.out.println("AbsolutePath:"+f.getAbsolutePath());
System.out.println("AbsoluteFile:"+f.getAbsoluteFile());
System.out.println("Parent:"+f.getParent());
System.out.println("ParentFile:"+f.getParentFile());
System.out.println("Path:"+f.getPath());
System.out.println("Exist:"+f.exists());
boolean cr = f.mkdirs(); // Si no existen, se crean los directorios de la ruta especificada además del directorio especificado
System.out.println("Creado dir:"+cr);
System.out.println("Exist dir:"+f.exists());
Comprobarás que en la ruta especificada se crea un directorio crea2. Si lo que pretendes es crear un fichero crea2 en la ruta especificada entonces...
f.createNewFile();
System.out.println("Exist file:"+f.exists());
Tendrás que capturar o lanzar IOException para controlar el caso de que exista ya un fichero con ese nombre. Además sólo podrás crear un fichero o directorio con ese manejador, no ambos.
Espero que te sirva. Un saludo.