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.]

在上面的程序中,我们使用 Systemuser.dir 属性来获取存储在变量 path 中的当前目录。有关更多信息,请参阅 Kotlin 获取当前目录的程序

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

然后,我们使用 readAllLines() 方法从文件读取所有行。它接受文件的 pathencoding,并按输出所示将所有行作为列表返回。

由于 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() 方法从给定路径读取所有字节。然后使用默认的 encoding 将这些字节转换为字符串。

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

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战