有没有办法将命令行参数配置为 intellij 以进行标准输入重定向?
类似于以下内容:
运行 | 编辑运行配置 | 脚本参数
/shared/java/paf-rules.properties 2 < /shared/java/testdata.csv
有没有办法将命令行参数配置为 intellij 以进行标准输入重定向?
类似于以下内容:
运行 | 编辑运行配置 | 脚本参数
/shared/java/paf-rules.properties 2 < /shared/java/testdata.csv
不幸的是,没有 - 至少不是直接在运行配置中。
afaik,您能做的最好的事情是:
修改您的脚本/程序以在没有参数(读取System.in
)或文件名参数(读取文件)的情况下运行
制作一个以上述方式运行的包装脚本/程序。
希望这可以帮助,
维京人史蒂夫
这是一个解决方案的模板,其中包含以下选项:
.
val input = """ Some string for testing ... """
def main(args: Array[String]) {
val is = if (args.length >= 1) {
if (args(0) == "testdata") {
new StringInputStream(input)
} else {
new FileInputStream(args(0))
}
} else {
System.in
}
import scala.io._
Source.fromInputStream(is).getLines.foreach { line =>
此代码段需要使用 StringInputStream - 这里是:
class StringInputStream(str : String) extends InputStream {
var ptr = 0
var len = str.length
override def read(): Int = {
if (ptr < len) {
ptr+=1
str.charAt(ptr-1)
} else {
-1
}
}
}