U ovom programu naučit ćete pretvoriti objekt File u byte () i obratno u Kotlinu.
Prije nego što datoteku pretvorimo u bajtni niz i obrnuto, pretpostavljamo da u mapi src imamo datoteku nazvanu test.txt .
Evo sadržaja test.txt
Ovo je test datoteka.
Primjer 1: Pretvori datoteku u bajt ()
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) ( ) )
Kada pokrenete program, izlaz će biti:
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
U gore navedenom programu put do datoteke pohranjujemo u varijablu path.
Zatim, unutar bloka try, readAllBytes()
metodom čitamo sve bajtove iz datog pth-a .
Zatim koristimo metodu Arrays
' toString()
za ispis bajt polja.
Budući readAllBytes()
da IOException
bismo mogli baciti znak , koristili smo try-catch
blok u programu.
Primjer 2: Pretvori bajt () u datoteku
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) ( ) )
Kada pokrenete program, sadržaj test.txt se kopira u final.txt .
U gore navedenom programu koristili smo istu metodu kao primjer 1 za čitanje svih bajtova iz datoteke pohranjene u stazi. Ti se bajtovi spremaju u kodirani niz.
Također imamo finalPath u koji se upisuju bajtovi.
Zatim jednostavno koristimo metodu Files
' write()
za upisivanje kodiranog bajt polja u Datoteku u zadanom konačnom putu.
Evo ekvivalentnog Java koda: Java program za pretvaranje datoteke u bajt () i obrnuto.