Kotlin程序从文件内容创建字符串

Kotlin 实例大全

在此程序中,您将学习不同的方法来从Kotlin中的给定文件集中创建字符串。

从文件创建字符串之前,我们假设在src文件夹中有一个名为test.txt的文件。

这是test.txt的内容

This is a
Test file.

示例1:从文件创建字符串

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)

}

运行该程序时,输出为:

[This is a, Test file.]

在上面的程序中,我们使用System的user.dir属性来获取存储在变量path中的当前目录。查看Kotlin程序以获取当前目录以获取更多信息。

我们使用defaultCharset()对文件进行编码。如果您知道编码,请使用它,否则使用默认编码是安全的。

然后,我们使用readAllLines()方法读取文件中的所有行。它获取文件的路径及其编码,并以列表形式返回所有行,如输出中所示。

因为readAllLines也可能抛出IOException,所以我们必须定义main方法

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

示例2:从文件创建字符串

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

运行该程序时,输出为:

This is a
Test file.

在上述程序中,我们没有获得字符串列表,而是获得了一个包含所有内容的字符串 lines 。

为此,我们使用readAllBytes()方法从给定路径读取所有字节。然后使用默认编码将这些字节转换为字符串。

这是等效的Java代码:从文件的内容创建字符串的Java程序

Kotlin 实例大全