English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

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

Kotlin-Beispiel大全

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

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

这是test.txt的内容

Dies ist ein
Testdatei.

Beispiel1:从文件创建字符串

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

Wenn Sie dieses Programm ausführen, wird die Ausgabe sein:

[Dies ist ein, Testdatei.]

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

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

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

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

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

Beispiel2:从文件创建字符串

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

Wenn Sie dieses Programm ausführen, wird die Ausgabe sein:

Dies ist ein
Testdatei.

In diesem Programm erhalten wir keine Liste von Zeichenfolgen, sondern einen String lines, der alle Inhalte enthält.

Dafür verwenden wir die Methode readAllBytes() von der angegebenen Adresse, um alle Bytes zu lesen. Dann werden diese Bytes in einen String mit der Standardkodierung in einen String umgewandelt.

Dies ist der äquivalente Java-Code:Java-Programm, um eine Zeichenfolge aus Dateiinhalten zu erstellen

Kotlin-Beispiel大全