我是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
答案 0 :(得分: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