Escribir byte en Archivo en Java
Cómo convertir matriz de bytes a archivo en Java?
byte[] objFileBytes, File objFile
- Segmentación de una voz
- Expectativa de puntero nulo al obtener valores de preferencia compartida
- Android, ¿cómo mostrar un diálogo de error de un try catch?
- Problema de hilo simple con la animación de Android
- ¿Qué es sharedUserId en Android, y cómo se utiliza?
- Algoritmo de pila de partículas
- Android: la adición de vistas a las imágenes no se actualiza - onClick
- Android Múltiples secuencias de clics en textview
- Android - ¿Cómo obtener Uri de archivo RAW?
- Android: AsyncTask OR normal Java threads con ExecutorService
- AvailableProcessors () devuelve 1 para los teléfonos dualcore
- Escucha un shoutcast con Android
- Herencia cíclica e interfaces - la clase A no puede implementar la interfaz de clase B mientras que la clase B implementa una interfaz
Un objeto File no contiene el contenido del archivo. Es sólo un puntero al archivo de su disco duro (u otro medio de almacenamiento, como un SSD, una unidad USB, un recurso compartido de red). Así que creo que lo que quieres es escribirlo en el disco duro.
Tienes que escribir el archivo usando algunas clases en la API de Java
BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(yourFile)); bos.write(fileBytes); bos.flush(); bos.close();
También puede utilizar un Writer en lugar de un OutputStream. El uso de un escritor le permitirá escribir texto (String, char []).
BufferedWriter bw = new BufferedWriter(new FileWriter(yourFile));
Puesto que usted dijo que quería mantener todo en la memoria y no quiere escribir nada, puede intentar utilizar ByteArrayInputStream
. Esto simula un InputStream, que se puede pasar a la mayoría de las clases.
ByteArrayInputStream bais = new ByteArrayInputStream(yourBytes);
public void writeFile(byte[] data, String fileName) throws IOException{ FileOutputStream out = new FileOutputStream(fileName); out.write(data); out.close(); }
Utilice un FileOutputStream.
FileOutputStream fos = new FileOutputStream(objFile); fos.write(objFileBytes); fos.close();
Ok, usted lo pidió:
File file = new File("myfile.txt"); // convert File to byte[] ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(bos); oos.writeObject(file); bos.close(); oos.close(); byte[] bytes = bos.toByteArray(); // convert byte[] to File ByteArrayInputStream bis = new ByteArrayInputStream(bytes); ObjectInputStream ois = new ObjectInputStream(bis); File fileFromBytes = (File) ois.readObject(); bis.close(); ois.close(); System.out.println(fileFromBytes);
Pero esto es inútil. Por favor, especifique lo que está tratando de lograr.
Consulte Cómo hacer PDF en Android . Parece que no puede tener ninguna opción excepto guardar el contenido en un archivo (temporal) en el archivo SD para poder mostrarlo en el visor de pdf.
- Android – llamando al hilo de ui del hilo de trabajo
- ¿Cómo administro subproyectos de submódulo git en Eclipse?