English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Neste programa, você aprenderá como converter objetos File para byte [] e vice-versa no Java.
Antes de converter o arquivo para um array de bytes (e vice-versa), assumimos que emsrcNa pasta há um arquivo chamadotest.txtdo arquivo.
Este étest.txtdo conteúdo
Este é um Teste de arquivo.
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) { } } }
Quando executamos este programa, a saída é:
[84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46]
No programa acima, armazenamos o caminho do arquivo na variável path.
Em seguida, dentro do bloco try, usamos o método readAllBytes() para ler todos os bytes do caminho fornecido.
Em seguida, usamos o método toString() do array para imprimir o array de bytes.
Como readAllBytes() pode lançar IOException, usamos try no nosso programa-bloco 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) { } } }
Ao executar o programatest.txtO conteúdo será copiado parafinal.txt.
No programa acima, usamos o exemplo1O mesmo método lê todos os bytes armazenados no arquivo File armazenado em path. Esses bytes são armazenados no array encoded.
Temos também um finalPath para escrever bytes
Então, usamos apenas o método write() de Files para escrever o array de bytes codificados no arquivo finalPath fornecido.