I dette program lærer du at konvertere et filobjekt til byte () og omvendt i Kotlin.
Før vi konverterer en fil til byte-array og omvendt, antager vi, at vi har en fil med navnet test.txt i vores src- mappe.
Her er indholdet af 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 kører programmet, vil output være:
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
I ovenstående program gemmer vi stien til filen i den variable sti.
Derefter inden i prøveblokken læser vi alle bytes fra den givne pth ved hjælp af readAllBytes()
metoden.
Derefter bruger vi Arrays
' toString()
metode til at udskrive byte-arrayet.
Da vi readAllBytes()
måske kaster en IOException
, har vi brugt 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 kører programmet, kopieres indholdet af test.txt til final.txt .
I ovenstående program har vi brugt den samme metode som eksempel 1 til at læse alle bytes fra filen gemt i stien. Disse bytes er gemt i det array, der er kodet.
Vi har også en finalPath, hvor bytes skal skrives.
Derefter bruger vi simpelthen Files
' write()
metoden til at skrive det kodede byte-array til en fil i den givne finalPath.
Her er den tilsvarende Java-kode: Java-program til at konvertere fil til byte () og omvendt.