无法将字符串解析为kotlin中的文件

piah890a  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(276)

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

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的初学者

sycxhyv7

sycxhyv71#

你会踢自己…:-)
要创建文件对象,只需调用其构造函数,例如。 File("/path/to/myFile") .  (其他构造函数允许您分别指定目录和文件名或uri。)
文件是文件名的抽象表示;它可以是绝对的(从 / 或者不管文件系统的根是什么),或者相对于(当前目录)。  文件甚至不需要存在。
当然,如果不是这样,那么在下面的一行中尝试为它创建读取器时会出现错误。  (我敢肯定,当您将i/o错误转换为生产代码时,您将处理这些错误!)
kotlin提供了其他读取文件的方法;看看像file.uselines、file.readlines和file.foreachline这样的扩展函数,它们使它变得更加简单。

相关问题