У овом програму ћете научити различите технике за стварање низа од садржаја дате датотеке у Котлину.
Пре него што направите низ од датотеке, претпостављамо да имамо фајл под називом тест.ткт у нашој срц фолдер.
Ево садржаја тест.ткт
Ово је тест датотека.
Пример 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
'с user.dir
имовину да тренутни директоријум који се налазе у променљивој путу. Погледајте програм Котлин да бисте добили више информација о тренутном директоријуму.
Користили смо defaultCharset()
за кодирање датотеке. Ако знате кодирање, користите га, иначе је сигурно користити подразумевано кодирање.
Затим смо користили readAllLines()
методу за читање свих редова из датотеке. Потребан је пут до датотеке и њено кодирање и враћа све редове као листу као што је приказано у излазу.
Будући да реадАллЛинес такође може да баци ИОЕкцептион, морамо дефинисати наш главни метод као такав
публиц статиц воид маин (Стринг () аргс) баца ИОЕкцептион
Пример 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()
методу за читање свих бајтова са дате путање. Ови бајтови се затим претварају у низ користећи подразумевано кодирање.
Ево еквивалентног Јава кода: Јава програм за стварање низа од садржаја датотеке.