English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
В этом программном обеспечении вы узнаете, как в Java конвертировать объект File в byte [] и обратно.
Прежде чем конвертировать файл в массив байтов (или наоборот), мы предполагаем, что вsrcВ папке есть файл с именемtest.txtфайл.
Этоtest.txtсодержание
This is a Test file.
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 в программе.
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.