Escribe un byte en un archivo en Java
-
Uso de
FileOutputStream
para escribir un byte en un archivo en Java -
Uso de
java.nio.file
para escribir un byte en un archivo -
Uso de la biblioteca
Apache Commons IO
para escribir un byte en un archivo en Java
Este programa demuestra cómo escribir un array de bytes en un archivo en Java. Esta tarea se puede realizar usando FileOutputStream
y usando algunas bibliotecas mencionadas en este artículo.
Uso de FileOutputStream
para escribir un byte en un archivo en Java
La clase FileOutputStream
en Java es un flujo de salida utilizado para escribir datos o flujo de bytes en un archivo. El constructor FileOutputStream(File file)
crea un flujo de salida de archivo para escribir en el archivo representado por el objeto File
file
, que hemos creado en el código siguiente.
La variable s
de tipo String
se pasa al método getBytes()
, que convierte la cadena en una secuencia de bytes y devuelve un array de bytes. El método write()
toma el array de bytes como argumento y escribe b.length bytes del array de bytes b
en este flujo de salida de archivo.
Se crea un archivo con la extensión .txt
en la ruta dada, y si lo abrimos, podemos ver el contenido igual que la cadena almacenada en la variable s
.
import java.io.File;
import java.io.FileOutputStream;
public class ByteToFile {
public static void main(String args[]) {
File file = new File("/Users/john/Desktop/demo.txt");
try {
FileOutputStream fout = new FileOutputStream(file);
String s = "Example of Java program to write Bytes using ByteStream.";
byte b[] = s.getBytes();
fout.write(b);
} catch (Exception e) {
e.printStackTrace();
}
}
}
Uso de java.nio.file
para escribir un byte en un archivo
El paquete Java NIO ( New I/O)
consta de métodos estáticos que funcionan en archivos, directorios y, sobre todo, funciona en el objeto Path
. Path.get()
es un método estático que convierte una secuencia de cadenas o una cadena de ruta en una ruta. Simplemente llama a FileSystems.getDefault().getPath()
.
Por lo tanto, podemos escribir un array de bytes b
en un archivo usando el método Files.write()
pasando la ruta al archivo y el array de bytes convertida de una cadena.
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
public class ByteToFile {
public static void main(String args[]) {
Path p = Paths.get("/Users/john/Desktop/demo.txt");
try {
String s = "Write byte array to file using java.nio";
byte b[] = s.getBytes();
Files.write(p, b);
} catch (IOException ex) {
System.err.format("I/O Error when copying file");
}
}
}
Uso de la biblioteca Apache Commons IO
para escribir un byte en un archivo en Java
La dependencia de maven para esta biblioteca es la que se menciona a continuación.
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
La biblioteca Apache Commons IO
tiene la clase FilesUtils, tiene el método writeByteArrayToFile()
. Este método toma la ruta de destino y los datos binarios que estamos escribiendo. Si nuestro directorio o archivo de destino no existe, se crearán. Si el archivo existe, se truncará antes de escribir.
import java.io.File;
import java.io.IOException;
import java.nio.charset.StandardCharsets;
import org.apache.commons.io.FileUtils;
public class ByteToFile {
public static void main(String args[]) {
{
File file = new File("doc.txt");
byte[] data =
"Here, we describe the general principles of photosynthesis"
.getBytes(StandardCharsets.UTF_8);
try {
FileUtils.writeByteArrayToFile(file, data);
System.out.println("Successfully written data to the file");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Producción :
Successfully written data to the file
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArtículo relacionado - Java Byte
- Cómo convertir una cadena de Java en un byte
- Convertir Int a Byte en Java
- Convertir Byte a Int en Java