Программа на Java для преобразования файла в байтовый массив и наоборот

В этой программе вы научитесь преобразовывать объект File в byte () и наоборот в Java.

Чтобы понять этот пример, вы должны знать следующие темы программирования Java:

  • Класс файла Java
  • Массивы Java

Прежде чем преобразовать файл в байтовый массив и наоборот, мы предполагаем, что у нас есть файл с именем test.txt в нашей папке src .

Вот содержимое test.txt

 Это тестовый файл.

Пример 1: преобразовать файл в байтовый ()

 import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; import java.util.Arrays; public class FileByte ( public static void main(String() args) ( String path = System.getProperty("user.dir") + "\src\test.txt"; try ( byte() encoded = Files.readAllBytes(Paths.get(path)); System.out.println(Arrays.toString(encoded)); ) catch (IOException e) ( ) ) )

v

 (84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)

В приведенной выше программе мы сохраняем путь к файлу в переменной path.

Затем внутри блока try мы читаем все байты из заданного пути с помощью readAllBytes()метода.

Затем мы используем Arrays" toString()метод для печати массива байт.

Поскольку, readAllBytes()might throw an IOException, мы использовали этот try-catchблок в программе.

Пример 2: преобразовать byte () в файл

 import java.io.IOException; import java.nio.file.Files; import java.nio.file.Paths; public class ByteFile ( public static void main(String() args) ( String path = System.getProperty("user.dir") + "\src\test.txt"; String finalPath = System.getProperty("user.dir") + "\src\final.txt"; try ( byte() encoded = Files.readAllBytes(Paths.get(path)); Files.write(Paths.get(finalPath), encoded); ) catch (IOException e) ( ) ) ) 

Когда вы запускаете программу, содержимое test.txt копируется в final.txt .

В приведенной выше программе мы использовали тот же метод, что и в примере 1, для чтения всех байтов из файла, хранящегося в path. Эти байты хранятся в закодированном массиве.

У нас также есть finalPath, куда должны быть записаны байты.

Затем мы просто используем метод Files' write()для записи закодированного байтового массива в файл в заданном finalPath.

Интересные статьи...