В этой программе вы научитесь преобразовывать объект 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.