В тази програма ще се научите да конвертирате обект на файл в байт () и обратно в Kotlin.
Преди да преобразуваме файл в байтов масив и обратно, предполагаме, че имаме файл с име test.txt в нашата папка src .
Ето съдържанието на test.txt
Това е тестов файл.
Пример 1: Конвертиране на файл в байт ()
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) ( ) )
Когато стартирате програмата, изходът ще бъде:
(84, 104, 105, 115, 32, 105, 115, 32, 97, 13, 10, 84, 101, 115, 116, 32, 102, 105, 108, 101, 46)
В горната програма съхраняваме пътя към файла в променливата пътека.
След това, вътре в блока try, четем всички байтове от дадения pth, използвайки readAllBytes()
метод.
След това използваме метода Arrays
' toString()
за отпечатване на байтовия масив.
Тъй като, readAllBytes()
може да хвърлим IOException
, използваме try-catch
блока в програмата.
Пример 2: Преобразуване на байт () във файл
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) ( ) )
Когато стартирате програмата, съдържанието на test.txt се копира в final.txt .
В горната програма използвахме същия метод като пример 1, за да прочетем всички байтове от файла, съхранен в пътя. Тези байтове се съхраняват в кодирания масив.
Имаме и finalPath, където трябва да се запишат байтовете.
След това просто използваме метода Files
' write()
, за да запишем кодирания байтов масив във файл в дадения finalPath.
Ето еквивалентния Java код: Java програма за конвертиране на файл в байт () и обратно.