sobreescribir - cómo crear nuevo java.io.File en la memoria?
modificar archivos txt en java (3)
¿Cómo puedo crear un nuevo File
(de java.io) en la memoria, no en el disco duro?
Estoy usando el lenguaje Java. No quiero guardar el archivo en el disco duro.
¿Cómo puedo crear un nuevo archivo (de java.io) en la memoria, no en el disco duro?
Tal vez estás confundiendo File
and Stream
:
- Un
File
es una representación abstracta de nombres de rutas de archivos y directorios. Con un objetoFile
, puede acceder a los metadatos del archivo en un sistema de archivos y realizar algunas operaciones en los archivos de este sistema de archivos, como eliminar o crear el archivo. Pero la claseFile
no proporciona métodos para leer y escribir el contenido del archivo. - Para leer y escribir desde un archivo, está utilizando un objeto
Stream
, comoFileInputStream
oFileOutputStream
. Estas secuencias se pueden crear desde un objetoFile
y luego se pueden usar para leer y escribir en el archivo.
Puede crear una secuencia basada en un búfer de bytes que reside en la memoria , utilizando ByteArrayInputStream
y ByteArrayOutputStream
para leer y escribir en un búfer de bytes de forma similar a lo que lee y escribe desde un archivo. La matriz de byte
contiene el contenido del "Archivo". No necesita un objeto File
entonces.
Tanto el File...
como las ByteArray...
heredadas de java.io.OutputStream
y java.io.InputStream
, respectivamente, de modo que puede usar la superclase común para ocultar si está leyendo desde un archivo o desde un byte. formación.
Para escribir en una secuencia, en la memoria, use:
new ByteArrayOutputStream();
Puede usar un java.io.StringWriter.