Crear un fichero en Java

21/Jul/2007 Java , , 20 Comentarios

Si queremos crear un fichero con Java nos tenemos que apoyar en la clase File de Java IO la cual nos proporciona un método creteNewFile que generará el fichero en el path que le indiquemos.

Si bien debemos de tener en cuenta que el "directorio base" donde creemos el fichero debe de existir. Por ejemplo, en el caso de que creemos un fichero indicando el path "c:templineadecodigoficheroTexto", los directorios temporal y lineadecodigo deben de existir.

Así instanciaremos el objeto File de la siguiente forma:

  1. File fichero = new File ("c:\temp\lineadecodigo\fichero.txt");

o bien indicando el directorio y el fichero por separado:

  1. File fichero = new File ("c:\temp\victor","fichero.txt");

Debemos de tener cuidado en utilizar la doble barra para indicar el directorio ya que cuando utilizamos la barra sola se asume que es una secuencia de escape del estilo n b t...

Una vez creado el fichero simplemente bastará invocar el método createNewFile teniendo cuidado de que puede ser lanzada la excepción IOException a si que debemos de capturarla.

  1. try {
  2. // A partir del objeto File creamos el fichero físicamente
  3. if (fichero.createNewFile())
  4. System.out.println("El fichero se ha creado correctamente");
  5. else
  6. System.out.println("No ha podido ser creado el fichero");
  7. } catch (IOException ioe) {
  8. ioe.printStackTrace();
  9. }

El método devolverá true si ha podido crear el fichero y false si no ha podido llevarlo a cabo.

Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

20 comentarios en “Crear un fichero en Java”

Víctor Cuervo

Eneko

Hola,
mi pregunta es la siguiente:

¿Es necesaria esta linea de codigo:

“File fichero = new File (“Peliculas.dat”);” //linea 1

si a continuación le sigue estas otras:

FileInputStream fic = null; // linea 2
fic = new FileInputStream (“Peliculas.dat”); // linea 3

??

Mi sospecha es que la linea 3 de codigo ya crea el fichero por lo que la linea 1 es innecesaria.

Me gustaría que me dijerais si estoy en lo cierto.

Muchas gracias.

Víctor Cuervo

Octavio

la linea 3 de codigo lo que hace es utilizar el FileInputStream con el fichero de la ruta que se le indica, para despues poder escribir o leer sobre la ruta de ese fichero, la linea 3 no crea el fichero, sino que especifica sobre que fichero va a trabajar

Víctor Cuervo

gladys

hola necesito ayuda debo realizar un programa que lea un archivo de texto(.txt) y cuente cuantas lineas hay y cuantas veces se repite un símbolo dado por el usuario, sea letra, numero, o cualquier otro simbolo. si me pudieran ayudar se los agradeceria mucho

Víctor Cuervo

Francisco - Broker de Forex

he utilizado las funcion para crear un archivo createNewFile() pero ahora necesito escribir en el fichero, pero no sé como hacerlo.

El objetivo es guerdar un video en el SDCARD del Android para luego poder visualizarlo.

Gracias

Víctor Cuervo

lineadecodigo

@Super Jav@,

Te recomiendo que pongas tu pregunta en los foros, por si te puede ayudar alguien.

El foro recomendado es Foro Java Basico.

Víctor Cuervo

Super Jav@

Hola hola necesito ayuda
tengo q hacer un programa en java que realize el censo y este se acomode en rangos de edad exixten 7 rangos del 0 a el 6. bhalguien me ´puedwe hayudar ???
las edades se deben acomodar en el rango correspondiente utilizando arreglos de tipo nodo
Rango 0(0-8)
Rango 1(9-15)
Rango2(16-22)
Rango3(23-30)
Rango4(31-45)
Rango5(46-60)
Rango6(61-100)

Víctor Cuervo

Mayte

Hola,

Necesitaría abrir un fichero binario y mostrar cada byte que contenga por pantalla, he estado utilizando RandomAccessFile, pero no me sacaba correctamente el resultado. El contenido del binario son hexadecimales.

Muchas gracias

Víctor Cuervo

saia

muchas gracias!!!! sos geinales

Víctor Cuervo

sasasasa

NO SE NADA DE PROGAMACION ASI QUE NI MEDRES LES PUEDO AIUDAR OK

Víctor Cuervo

lineadecodigo

@Marina,

Lo que tienes que hacer es leerte el artículo Escribir en un fichero de texto con Java.

Verás como es muy sencillo. Espero que te sea de ayuda.

Víctor Cuervo

Marina

Hola, necesito grabar en un txt el resultado de una consulta SQL, es decir, me conecto a la BD, armo la sentencia SQL (puntos ya resueltos) y grabo una línea en txt por cada registro que emitirá la consulta.
Si alguien puede ayudarme se los agradeceria. Saludos

Víctor Cuervo

Marlio

agradeceria cualquier ayuda , ya que es nota para parcial y es hata hoy o para el sabado. gracias…

Víctor Cuervo

Marlio

agradeceria cualquier ayuda , ya que es nota para parcial y es hata hoy o para el sabado. gracias

Víctor Cuervo

Marlio

tengo este codigo, esto he realizado hasta el momento pero no he podido, bueno mi pregunta es:

neceisto guardar el orden que le de segun la opcion en una archivo que se crea con un metodo archivo, tambien necesito guardar en el archivo la cantidad de nodos del arbol y tambien necesito imprimir en pantalla o en el archivo

import java.applet.*;
//import java.awt.*;
import java.io.*;

class Nodo
{
int info;

Nodo der;
Nodo izq;
Nodo (int info)
{
this.info = info;
izq = der = null;
}
}

public class arboles extends Applet
{
int cantNodos;
int altura = 0;

public arboles() throws IOException
{
Nodo raiz = binario();
caltura(raiz, 0);

System.out.print(“LA ALTURA ES =>” );
System.out.println(altura );
System.out.println(“”);

System.out.print(“LA CANTIDAD DE NODOS DEL ARBOL ES =>” );
System.out.println( );
System.out.println(“”);

System.out.println(“<>” );
System.out.println(“”);

System.out.println( “1) :<>” );
System.out.println( “2) :<>” );
System.out.println( “3) :<>” );

System.out.println(“”);
System.out.print( “<>” );

BufferedReader leer = new BufferedReader(new InputStreamReader(System.in));
String linea = leer.readLine();
int opcion = Integer.parseInt(linea);

System.out.println(“”);
System.out.println(“”);

System.out.println(“<>” );
System.out.println(“”);

System.out.println( “4) :<>” );
System.out.println( “5) :<>” );

System.out.println(“”);
System.out.print( “<>” );

BufferedReader leer1 = new BufferedReader(new InputStreamReader(System.in));
String linea1 = leer1.readLine();
int opcion1 = Integer.parseInt(linea1);

if (opcion == 1)
preorden(raiz);

if (opcion == 2)
posorden(raiz);

if (opcion == 3)
inorden(raiz);

/*if (opcion1== 4)
archivo();
*/
if (opcion1== 5)
archivo();

}

Nodo binario()
{
Nodo m=new Nodo(17);
InsDer(m,15);
InsIzq(m,1);
InsDer(m.der,21);
InsDer(m.der.der,27);
InsDer(m.der.der.der,13);
InsIzq(m.der.der.der,9);
InsIzq(m.der.der,4);
InsIzq(m.der,2);
InsDer(m.der.izq,29);
InsIzq(m.der.izq,14);
InsDer(m.der.izq.izq,19);
InsIzq(m.der.izq.izq,28);
InsDer(m.izq,6);
InsIzq(m.izq.der,25);
InsDer(m.izq.der.izq,30);
InsIzq(m.izq.der.izq,16);
InsIzq(m.izq,23);
InsDer(m.izq.izq,5);
InsDer(m.izq.izq.der,31);
InsIzq(m.izq.izq,12);
InsDer(m.izq.izq.izq,24);
InsIzq(m.izq.izq.izq,11);

return m;
}

void InsDer(Nodo raiz,int n)
{
Nodo Nuevo = new Nodo (n);
raiz.der=Nuevo;
}

void InsIzq(Nodo raiz,int n)
{
Nodo Nuevo = new Nodo (n);
raiz.izq=Nuevo;
}

void archivo() throws IOException
{
File mm = new File(“c:\\archivo\\java”,”mm.txt”);
try {

if (mm.createNewFile())
System.out.println(“EL Archivo se ha creado correctamente”);
else
System.out.println(“El Archivo no pudo ser creado”);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}

void preorden (Nodo Raiz)
{
if (Raiz!=null)
{
System.out.println(Raiz.info);

preorden (Raiz.izq);
preorden(Raiz.der);
}

}

void posorden(Nodo Raiz)
{
if (Raiz!=null)
{
posorden(Raiz.izq);
posorden(Raiz.der);
System.out.println(Raiz.info);
}
}
void inorden(Nodo Raiz)
{
if (Raiz!=null)
{
inorden(Raiz.izq);
System.out.println(Raiz.info);
inorden(Raiz.der);

}
}

void caltura (Nodo Raiz, int alt)
{
if (alt > altura)
altura = alt;

if (Raiz!=null){
caltura (Raiz.izq, alt+1);
caltura (Raiz.der, alt+1);

}
}

}

Víctor Cuervo

jstuck

si me pueden mandar algunas referencias graciasss..

lo que sea.. se los agradecere
grax

Víctor Cuervo

jstuck

tengo un programa en java que lee archivvos de texto y despues cada linea las inserta en una base de datos.. hasta hay todo bien..

la duda que tengo es si existe algun metodo o algo en java que haga que cuando io escriba algo en el archivo de texto el programa leea esa linea que se agrego y pues que por ende se aga el insert a la BD.

aqui mi duda es como aserle para que el programa leea la linea que se agrego todo lo demas ya lo tengo..

graciasss..

este es mi codigo o paret de el..

.
.
.
. public static void main(String [] arg) {
File archivo = null;
FileReader fr = null;
BufferedReader br = null;

try {
// Apertura del fichero y creacion de BufferedReader para poder
// hacer una lectura comoda (disponer del metodo readLine()).
archivo = new File (“/Users/nameuser/Desktop/texto.txt”);
fr = new FileReader (archivo);
br = new BufferedReader(fr);

//conexion a la base de datos e insercion de las lineas leidas por el bufferreading
String aux = null;
String linea = aux;
do{
Class.forName (“com.mysql.jdbc.Driver”).newInstance ();
con = DriverManager.getConnection (url, user, passwd);
st = con.createStatement();

String insertSql = “insert into “+ table +” (lectura) values(‘”+linea +”‘);”;
st.executeUpdate(insertSql);
System.out.println(insertSql);
// Lectura del fichero

}while((linea=br.readLine())!=null);
aux = linea;
}
catch(Exception e){
e.printStackTrace();
}.
.
.
.
.

Víctor Cuervo

ShadowKakashi

Gracias, ya me había traumado de que no creara el archivo fisicamente con solo el “File fichero=new File(“archivo.txt”);”

Víctor Cuervo

Alberthoven

Si lo que quieres es crear un temporal, ¿por qué no utilizas el método estático concebido para ello?:

File tempFile = File.createTempFile(“nombreFichero”, “.tmp”);

Víctor Cuervo

Pablo

¿como puedo hacer para eliminar un fichero de una carpeta y luego copiar otro a esa carpeta con JAVA?

Víctor Cuervo

rayner

muy bueno

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*