Neste programa, você aprenderá a converter um objeto File em byte () e vice-versa no Kotlin.
Antes de converter um arquivo em array de bytes e vice-versa, presumimos que temos um arquivo chamado test.txt em nossa pasta src .
Aqui está o conteúdo de test.txt
Este é um arquivo de teste.
Exemplo 1: converter arquivo em byte ()
import java.io.IOException import java.nio.file.Files import java.nio.file.Paths import java.util.Arrays fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" try ( val encoded = Files.readAllBytes(Paths.get(path)) println(Arrays.toString(encoded)) ) catch (e: IOException) ( ) )
Quando você executa o programa, a saída será:
(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 para o arquivo no caminho da variável.
Então, dentro do bloco try, lemos todos os bytes do pth usando o readAllBytes()
método fornecido .
Então, usamos Arrays
o toString()
método ' para imprimir a matriz de bytes.
Visto que, readAllBytes()
pode lançar um IOException
, usamos o try-catch
bloco no programa.
Exemplo 2: converter byte () em arquivo
import java.io.IOException import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val finalPath = System.getProperty("user.dir") + "\src\final.txt" try ( val encoded = Files.readAllBytes(Paths.get(path)) Files.write(Paths.get(finalPath), encoded) ) catch (e: IOException) ( ) )
Quando você executa o programa, o conteúdo de test.txt é copiado para final.txt .
No programa acima, usamos o mesmo método do Exemplo 1 para ler todos os bytes do Arquivo armazenado no caminho. Esses bytes são armazenados no array codificado.
Também temos um finalPath onde os bytes devem ser gravados.
Em seguida, simplesmente usamos o método Files
' write()
para gravar a matriz de bytes codificada em um Arquivo no caminho final fornecido.
Aqui está o código Java equivalente: programa Java para converter Arquivo em byte () e vice-versa.