Šajā programmā jūs iemācīsities konvertēt faila objektu uz baitu () un otrādi Kotlinā.
Pirms mēs konvertēt failu baitu masīvu un otrādi, mēs pieņemam, mums ir fails ar nosaukumu test.txt mūsu src mapē.
Šeit ir test.txt saturs
Šis ir testa fails.
1. piemērs: konvertējiet failu uz baitu ()
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) ( ) )
Palaidot programmu, izeja būs:
(84., 104., 105., 115., 32., 105., 115., 32., 97., 13., 10., 84., 101., 115., 116., 32., 102., 105., 108., 101., 46.)
Iepriekš minētajā programmā mēs saglabājam ceļu uz failu mainīgā ceļā.
Tad mēģinājuma bloka iekšpusē, izmantojot readAllBytes()
metodi , mēs nolasām visus baitus no norādītā p .
Tad mēs izmantojam Arrays
" toString()
metodi, lai izdrukātu baitu masīvu.
Tā kā, readAllBytes()
iespējams, iemetīsit IOException
, mēs esam izmantojuši try-catch
bloku programmā.
2. piemērs: konvertējiet baitu () uz failu
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) ( ) )
Palaižot programmu, saturu test.txt tiek kopēts final.txt .
Iepriekš minētajā programmā mēs izmantojām to pašu metodi kā 1. piemērs, lai nolasītu visus baitus no ceļā saglabātā faila. Šie baiti tiek saglabāti masīvā kodēti.
Mums ir arī finalPath, kur jāraksta baiti.
Tad mēs vienkārši izmantot Files
" write()
metodi, lai rakstīt kodētu baitu masīvu uz failu konkrētajā finalPath.
Šeit ir ekvivalents Java kods: Java programma, lai failu pārveidotu baitā () un otrādi.