English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной курс Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Очереди (Queue)

Java Словари (Map)

Java Множества (Set)

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Java-программа преобразует объект файла (File) в массив байтов (byte[]) и обратно

Java полные примеры

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

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

Этоtest.txtсодержание

This is a
Test file.

Пример 1: Преобразование File в byte[]

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) {
        }
    }
}

При выполнении этой программы вывод будет следующим:

[84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46]

В этом программном обеспечении мы храним путь к файлу в переменной path.

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

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

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

Пример 2: Преобразование byte [] в File

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. Эти байты хранятся в массиве encoded.

У нас также есть finalPath для записи байтов

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

Java полные примеры