1

我是 groovy 的新手。在命令提示符下(我没有使用任何 IDE),我输入了以下内容:(环境变量设置没有问题)

groovy -n -e "println line.toLong()" data.txt

错误 :

Caught: java.io.IOException: Invalid argument
java.io.IOException: Invalid argument

data.txt 在该目录中(使用 TAB 键验证)


不知道为什么它会抛出错误????

[data.txt 包含以下格式的原始数据]

1

2

3

4

4

1 回答 1

1

我尝试在 Linux 上使用 Groovy 2.3.6 和 Java 1.7.0_60 复制问题,但没有问题:

$ echo -e "1\n2\n\3\n\4" > data.txt
$ groovy -n -e "println line.toLong()" data.txt
1
2
3
4

使用不存在的文件:

$ groovy -n -e "println line.toLong()" bogus.txt
Caught: java.io.FileNotFoundException: bogus.txt
java.io.FileNotFoundException: bogus.txt

使用非数字数据:

$ echo -e "a\nb\nc\nd" > data.txt
$ groovy -n -e "println line.toLong()" data.txt
Caught: java.lang.NumberFormatException: For input string: "a"
java.lang.NumberFormatException: For input string: "a"
        at script_from_command_line.run(script_from_command_line:1)

它甚至可以与 CR/LF EOL 一起使用:

$ echo -e "1\r\n2\r\n3\r\n4\r" > data.txt
$ groovy -n -e "println line.toLong()" data.txt
1
2
3
4
于 2014-08-13T12:25:10.663 回答