无法在 Kotlin 中将字符串解析为文件

Can't parse String to File in Kotlin

这是基本脚本,您可以在其中输入一个文件作为参数之一,并根据它的扩展名使用不同的程序执行它。 这不是完整的代码,这只是给我一个错误的代码:

package com.pavlos.efstathiou.runScript

import java.io.BufferedReader
import java.io.File
import java.util.logging.Level.parse

fun main(args: Array<String>) {
    val filename: Any = args[0]
    if (args.isEmpty()) println("No arguments provided")
    if (args.size > 2) println("Too many arguments provided")
    fun read() {
        val filenameString = File.parse(filename) // I don't know what function to use to parse the filename String
        val reader: BufferedReader = filenameString.bufferedReader()
        val inputString = reader.use { it.readText() }
        println("Contents of file: $inputString")

    }
}

唯一的问题是我无法将函数的参数(字符串)解析为文件名。 抱歉我是 Kotlin 的初学者

你会踢自己的……:-)

创建 File object, you simply call its constructor,例如File("/path/to/myFile")。 (还有其他构造函数可让您分别指定目录和文件名,或 URI。)

文件是文件名的抽象表示;它可以是绝对的(从 / 或文件系统的根目录开始),也可以是相对的(相对于当前目录)。该文件甚至不需要存在。

当然,如果不是,那么当您尝试在下面的行中为其创建 reader 时,您会收到错误消息。 (当您将其转换为生产代码时,您 处理 I/O 错误,我敢肯定!)

Kotlin 提供了其他读取文件的方法;看看像 File.useLines, File.readLines, and File.forEachLine 这样的扩展函数,它使它变得更容易。