В этой программе вы изучите различные методы создания строки из содержимого заданного файла в Kotlin.
Перед тем, как создать строку из файла, мы предполагаем, что у нас есть файл с именем test.txt в нашей папке src .
Вот содержимое test.txt
Это тестовый файл.
Пример 1: создать строку из файла
import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset(); val lines = Files.readAllLines(Paths.get(path), encoding) println(lines) )
Когда вы запустите программу, вывод будет:
(Это тестовый файл.)
В приведенной выше программе, мы используем System
«s user.dir
свойство для получения текущего каталога , хранящийся в переменном пути. Проверьте программу Kotlin, чтобы получить дополнительную информацию о текущем каталоге.
Мы использовали defaultCharset()
для кодировки файла. Если вы знаете кодировку, используйте ее, иначе можно безопасно использовать кодировку по умолчанию.
Затем мы использовали readAllLines()
метод для чтения всех строк из файла. Он берет путь к файлу и его кодировку и возвращает все строки в виде списка, как показано на выходе.
Поскольку readAllLines также может вызывать исключение IOException, мы должны определить наш основной метод как таковой.
public static void main (String () args) выдает исключение IOException
Пример 2: создать строку из файла
import java.nio.charset.Charset import java.nio.file.Files import java.nio.file.Paths fun main(args: Array) ( val path = System.getProperty("user.dir") + "\src\test.txt" val encoding = Charset.defaultCharset() val encoded = Files.readAllBytes(Paths.get(path)) val lines = String(encoded, encoding) println(lines) )
Когда вы запустите программу, вывод будет:
Это тестовый файл.
В приведенной выше программе вместо получения списка строк мы получаем одну строку, строки, со всем содержимым.
Для этого мы использовали readAllBytes()
метод чтения всех байтов по заданному пути. Затем эти байты преобразуются в строку с использованием кодировки по умолчанию.
Вот эквивалентный код Java: программа Java для создания строки из содержимого файла.