V tomto programe sa naučíte prevádzať objekt File na byte () a naopak v Kotline.
Pred prevedením súboru na bajtové pole a naopak predpokladáme, že v našom priečinku src máme súbor s názvom test.txt .
Tu je obsah súboru test.txt
Toto je testovací súbor.
Príklad 1: Prevod súboru na 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) ( ) )
Po spustení programu bude výstup:
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
Vo vyššie uvedenom programe uložíme cestu k súboru v premennej ceste.
Potom vo vnútri bloku try načítame readAllBytes()
metódou všetky bajty z danej pth .
Potom použijeme metódu Arrays
' toString()
na vytlačenie bajtového poľa.
Pretože readAllBytes()
by IOException
sme mohli hodiť , použili sme try-catch
blok v programe.
Príklad 2: Konvertujte byte () na súbor
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) ( ) )
Po spustení programu sa obsah súboru test.txt skopíruje do súboru final.txt .
Vo vyššie uvedenom programe sme použili rovnakú metódu ako v príklade 1 na načítanie všetkých bajtov zo súboru uloženého v ceste. Tieto bajty sú uložené v kódovanom poli.
Máme tiež finalPath, kde sa majú zapisovať bajty.
Potom jednoducho použijeme metódu Files
' write()
na zápis kódovaného bajtového poľa do súboru v danej finalPath.
Tu je ekvivalentný kód Java: Program Java na prevod súboru na byte () a naopak.