【发布时间】:2021-02-28 00:00:25
【问题描述】:
这是一个基本脚本,您可以在其中输入一个文件作为参数之一,并根据它的扩展名使用不同的程序执行它。 这不是完整的代码,这只是给我一个错误的代码:
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 的初学者,代码不好
【问题讨论】:
-
无法正常工作,因为您需要目录的完整路径、创建文件并硬编码完整路径,如果它可以工作,就是因为这个原因。
-
@cutiko 文件名是主函数中的参数之一。我不想硬编码我想输入它作为参数之一
-
@cutiko runSript.kt:13:35:错误:未解决的参考:解析 val filenameString = File.parse(filename)
-
我并不是说将其硬编码为生产环境,我说的是硬编码,这样您就可以将错误减少为单一原因。我向您展示了一种调试问题的方法。硬编码它,如果它没有失败,那么你知道为什么。下一步是以编程方式获取项目目录。文件名与文件路径不同。否则,如果它一直失败,那么还有其他问题
-
@cutiko 谢谢,但我的问题是我无法将文件名解析为字符串。我已经搜索了答案,但我找不到任何答案。似乎没有人遇到我的问题
标签: java kotlin intellij-idea error-handling compiler-errors