Si encuentras algún detalle que no comprendes puedes dejarlo en la sección de comentarios y haremos todo lo posible de ayudarte lo más rápido posible.
Solución:
De lo contrario, intente esto:
Conversión de archivos a bytes
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class Temp
public static void main(String[] args)
File file = new File("c:/EventItemBroker.java");
byte[] b = new byte[(int) file.length()];
try
FileInputStream fileInputStream = new FileInputStream(file);
fileInputStream.read(b);
for (int i = 0; i < b.length; i++)
System.out.print((char)b[i]);
catch (FileNotFoundException e)
System.out.println("File Not Found.");
e.printStackTrace();
catch (IOException e1)
System.out.println("Error Reading The File.");
e1.printStackTrace();
Conversión de bytes a archivo
public class WriteByteArrayToFile
public static void main(String[] args)
String strFilePath = "Your path";
try
FileOutputStream fos = new FileOutputStream(strFilePath);
String strContent = "Write File using Java ";
fos.write(strContent.getBytes());
fos.close();
catch(FileNotFoundException ex)
System.out.println("FileNotFoundException : " + ex);
catch(IOException ioe)
System.out.println("IOException : " + ioe);
Creo que entendiste mal lo que java.io.File
clase realmente representa. Es solo una representación del archivo en su sistema, es decir, su nombre, su ruta, etc.
¿Incluso miraste el Javadoc para el java.io.File
¿clase? Echa un vistazo aquí. Si compruebas los campos que tiene o los métodos o argumentos del constructor, inmediatamente obtienes la pista de que todo lo que es es una representación de la URL/ruta.
Oracle proporciona un tutorial bastante extenso en su tutorial Java File I/O, con la última funcionalidad NIO.2 también.
Con NIO.2 puede leerlo en una línea usando java.nio.file.Files.readAllBytes().
De manera similar, puede usar java.nio.file.Files.write() para escribir todos los bytes en su byte array.
ACTUALIZAR
Dado que la pregunta está etiquetada como Android, la forma más convencional es envolver el FileInputStream
en un BufferedInputStream
y luego envuélvelo en un ByteArrayInputStream
. Eso le permitirá leer los contenidos en un byte[]
. Del mismo modo, las contrapartes de ellos existen para el OutputStream
.
No puedes hacer esto. UN File
es solo una forma abstracta de referirse a un archivo en el sistema de archivos. No contiene ninguno de los contenidos del archivo en sí.
Si está tratando de crear un archivo en memoria al que se pueda hacer referencia mediante un File
object, tampoco podrá hacer eso, como se explica en este hilo, este hilo y muchos otros lugares ...
Recuerda algo, que te brindamos la opción de esclarecer si diste con la contestación.