Котлин програм за претварање датотеке у бајт низ и обратно

У овом програму ћете научити да конвертујете објекат Филе у бите () и обратно у Котлину.

Пре него што датотеку претворимо у бајтни низ и обрнуто, претпостављамо да у нашој срц мапи имамо датотеку названу тест.ткт .

Ево садржаја тест.ткт

 Ово је тест датотека.

Пример 1: Претвори датотеку у бајт ()

 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) ( ) )

Када покренете програм, излаз ће бити:

 (84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)

У горе наведеном програму, пут до датотеке чувамо у променљивој путањи.

Затим, унутар блока три, readAllBytes()методом читамо све бајтове из датог птх-а .

Затим користимо методу Arrays' toString()за штампање бајт поља.

С обзиром на то readAllBytes()да бисмо могли бацити знак IOException, користили смо try-catchблок у програму.

Пример 2: Претворите бајт () у датотеку

 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) ( ) ) 

Када покренете програм, садржај тест.ткт се копира финал.ткт .

У горе наведеном програму користили смо исти метод као Пример 1 за читање свих бајтова из Датотеке сачуване у путањи. Ови бајтови се чувају у кодираном низу.

Такође имамо финалПатх у који треба да се упишу бајтови.

Затим, једноставно користимо методу Files' write()да напишемо кодирани низ бајтова у датотеку у датој финалПатх.

Ево еквивалентног Јава кода: Јава програм за претварање датотеке у бајт () и обрнуто.

Занимљиви Чланци...