I dette programmet lærer du å konvertere et filobjekt til byte () og omvendt i Kotlin.
Før vi konverterer en fil til byte-array og omvendt, antar vi at vi har en fil som heter test.txt i src- mappen.
Her er innholdet i test.txt
Dette er en testfil.
Eksempel 1: Konverter fil til 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) ( ) )
Når du kjører programmet, vil utdataene være:
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
I programmet ovenfor lagrer vi banen til filen i den variable banen.
Deretter, inne i prøveblokken, leser vi alle byte fra den gitte pth ved hjelp av readAllBytes()
metoden.
Deretter bruker vi Arrays
' toString()
metode for å skrive ut byte array.
Siden, readAllBytes()
kanskje kaster en IOException
, har vi brukt try-catch
blokken i programmet.
Eksempel 2: Konverter byte () til fil
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) ( ) )
Når du kjører programmet, kopieres innholdet i test.txt til final.txt .
I programmet ovenfor har vi brukt samme metode som eksempel 1 for å lese alle byte fra filen som er lagret i banen. Disse bytene er lagret i matrisen kodet.
Vi har også en siste vei der byte skal skrives.
Deretter bruker vi ganske enkelt Files
' write()
metoden til å skrive den kodede byte-matrisen til en fil i den gitte endelige banen.
Her er ekvivalent Java-kode: Java-program for å konvertere fil til byte () og omvendt.