Kotlin程序從文件內(nèi)容創(chuàng)建字符串

Kotlin 實(shí)例大全

在此程序中,您將學(xué)習(xí)不同的方法來從Kotlin中的給定文件集中創(chuàng)建字符串。

從文件創(chuàng)建字符串之前,我們假設(shè)在src文件夾中有一個(gè)名為test.txt的文件。

這是test.txt的內(nèi)容

This is a
Test file.

示例1:從文件創(chuàng)建字符串

import java.nio.charset.Charset
import java.nio.file.Files
import java.nio.file.Paths

fun main(args: Array<String>) {

    val path = System.getProperty("user.dir") + "\\src\\test.txt"
    val encoding = Charset.defaultCharset();

    val lines = Files.readAllLines(Paths.get(path), encoding)
    println(lines)

}

運(yùn)行該程序時(shí),輸出為:

[This is a, Test file.]

在上面的程序中,我們使用System的user.dir屬性來獲取存儲(chǔ)在變量path中的當(dāng)前目錄。查看Kotlin程序以獲取當(dāng)前目錄以獲取更多信息。

我們使用defaultCharset()對(duì)文件進(jìn)行編碼。如果您知道編碼,請(qǐng)使用它,否則使用默認(rèn)編碼是安全的。

然后,我們使用readAllLines()方法讀取文件中的所有行。它獲取文件的路徑及其編碼,并以列表形式返回所有行,如輸出中所示。

因?yàn)閞eadAllLines也可能拋出IOException,所以我們必須定義main方法

public static void main(String[] args) throws IOException

示例2:從文件創(chuàng)建字符串

import java.nio.charset.Charset
import java.nio.file.Files
import java.nio.file.Paths

fun main(args: Array<String>) {

    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)
}

運(yùn)行該程序時(shí),輸出為:

This is a
Test file.

在上述程序中,我們沒有獲得字符串列表,而是獲得了一個(gè)包含所有內(nèi)容的字符串 lines 。

為此,我們使用readAllBytes()方法從給定路徑讀取所有字節(jié)。然后使用默認(rèn)編碼將這些字節(jié)轉(zhuǎn)換為字符串。

這是等效的Java代碼:從文件的內(nèi)容創(chuàng)建字符串的Java程序。

Kotlin 實(shí)例大全

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清