Jump to content

[JAVA] Duda con creación de archivos


Recommended Posts

Hola, les cuento, tengo una duda respecto a la creación de archivos

estuve averiguando y es posible crear un .txt en java, estuve viendo

códigos pero la verdad es que no entendi mucho como poder crearlo.

Ademas de un .txt es posible crear un .html?

Link to comment
Share on other sites

Comunmente se usan dos formas de escribir informacion en archivos:

 

1 - Como texto plano:

 

Se usan las clases "FileWriter" y "FileReader" con sus respectivos métodos "write" y "read", se puede usar "BufferedReader" y "BufferedWriter" para escribir sobre los archivos línea a línea y evitar tener que escribir todo el contenido de una sola vez. Puedes darle la extensión que quieras a esta archivo pero no dejará de ser texto plano que TÚ debes formatear si le quieres dar otros usos.

 

2 - Como serialización de objetos:

 

Se usan las clases "ObjectOutputStream" y "ObjectInputStream" con sus respectivos métodos "writeObject" y "readObject". Cuando serializas objetos el archivo resultante puede tener cualquier extensión, pero su contenido será solo utilizable para restaurar el valor del objeto escrito (si intentas abrirlo por ejemplo con notepad, solo podrás ver de manera clara los String y valores numéricos, todas las propiedades y subclases estarán escritas en bytes). Cuando serializas un objeto se escribe en el archivo respetando fielmente su árbol de clases, subclases y propiedades, y de la misma manera se carga al leer dicho objeto desde un archivo. Si serializas un objeto y luego modificas las propiedades de la clase ya no podrás leer el objeto serializado.

 

Ahora para tu caso de crear un archivo *.HTML, pueden existir librerías para java, y desconozco si vendrá incluída en el JDK. Pero creo que para crearla debes manualmente escribir cada tag, tabulaciones, etc, como si de un archivo de texto se tratara (de hecho el html es eso, un archivo de texto).

 

Si quieres ahondar en el tema te recomiendo que leas los javadocs de las clases indicadas arriba, todas se encuentran en el paquete java.io

 

Saludos.

 

edito:

lo olvidaba. Debes implementar la interface "java.io.Serializable" en tu clase (y en todas sus subclases) para que puedas serializarla. Y como digo siempre, mucho cuidado con incluir modificadores estáticos dentro de la clase serializable o sus subclases, ya que te darán unos cuantos dolores de cabeza.

Edited by xchanox
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...