W tym programie nauczysz się konwertować obiekt File na byte () i odwrotnie w Kotlin.
Zanim przekonwertujemy plik na tablicę bajtów i na odwrót, zakładamy, że mamy plik o nazwie test.txt w naszym folderze src .
Oto zawartość pliku test.txt
To jest plik testowy.
Przykład 1: Konwertuj plik 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 uruchomieniu programu wynik będzie następujący:
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
W powyższym programie ścieżkę do pliku przechowujemy w zmiennej path.
Następnie w bloku try odczytujemy wszystkie bajty z podanej pth readAllBytes()
metodą.
Następnie używamy metody Arrays
' toString()
, aby wydrukować tablicę bajtów.
Ponieważ readAllBytes()
może rzucić an IOException
, użyliśmy tego try-catch
bloku w programie.
Przykład 2: Konwersja bajtu () na plik
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 uruchomieniu programu zawartość pliku test.txt jest kopiowana do pliku final.txt .
W powyższym programie użyliśmy tej samej metody, co w przykładzie 1, aby odczytać wszystkie bajty z pliku przechowywanego w path. Te bajty są przechowywane w zakodowanej tablicy.
Mamy również finalPath, w którym mają zostać zapisane bajty.
Następnie po prostu używamy metody Files
' write()
, aby zapisać zakodowaną tablicę bajtów do pliku w podanej finalPath.
Oto równoważny kod Java: program w języku Java do konwersji pliku na bajt () i odwrotnie.