I det här programmet lär du dig att konvertera ett filobjekt till byte () och vice versa i Kotlin.
Innan vi konverterar en fil till byte-array och vice versa antar vi att vi har en fil med namnet test.txt i vår src- mapp.
Här är innehållet i test.txt
Detta är en testfil.
Exempel 1: Konvertera fil till 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ör programmet blir resultatet:
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
I ovanstående program lagrar vi sökvägen till filen i variabelbanan.
Sedan, inuti försöksblocket, läser vi alla byte från den givna pth med hjälp av readAllBytes()
metoden.
Sedan använder vi Arrays
" toString()
metod för att skriva ut bytearrayen.
Eftersom, readAllBytes()
kanske kasta en IOException
, har vi använt try-catch
blocket i programmet.
Exempel 2: Konvertera byte () till 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ör programmet kopieras innehållet i test.txt till final.txt .
I programmet ovan har vi använt samma metod som exempel 1 för att läsa alla byte från filen som är lagrad i sökvägen. Dessa byte lagras i den kodade matrisen.
Vi har också en finalPath där bytes ska skrivas.
Sedan använder vi helt enkelt Files
' write()
metoden för att skriva den kodade byte-arrayen till en fil i den angivna finalPath.
Här är motsvarande Java-kod: Java-program för att konvertera fil till byte () och vice versa.