У цій програмі ви навчитесь перетворювати об'єкт File у байт () і навпаки в 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 для перетворення файлу в байт () і навпаки.