Ant中Javascript拆分的奇怪结果
Javascript的Ant中Javascript拆分的奇怪结果,java,javascript,ant,split,Java,Javascript,Ant,Split,Javascript的split函数在拆分文本和拆分从文件读取的字符串时表现不同 我有以下带有字符、冒号和换行符的文件: $ cat line a: $ od -a line 0000000 a : nl 0000003 $cat线路 a: $od-一行 0000000A:nl 0000003 当我运行以下生成文件时: <project name="project"> <script language="javascript"> <![CDAT
split
函数在拆分文本和拆分从文件读取的字符串时表现不同
我有以下带有字符、冒号和换行符的文件:
$ cat line
a:
$ od -a line
0000000 a : nl
0000003
$cat线路
a:
$od-一行
0000000A:nl
0000003
当我运行以下生成文件时:
<project name="project">
<script language="javascript">
<![CDATA[
importClass(java.io.BufferedReader);
importClass(java.io.File);
importClass(java.io.FileReader);
var literal = "a:";
var readline = new BufferedReader(new FileReader(new File("line"))).readLine();
project.log("literal: '" + literal + "' -> " + literal.split(":").length);
project.log("readline: '" + readline + "' -> " + readline.split(":").length);
]]>
</script>
</project>
我得到以下结果:
$ ant -f split.xml
Buildfile: split.xml
literal: 'a:' -> 2
readline: 'a:' -> 1
BUILD SUCCESSFUL
Total time: 0 seconds
$ant-f split.xml
构建文件:split.xml
文字:“a:”->2
阅读行:“a:”->1
建设成功
总时间:0秒
拆分文本返回2,拆分从文件读取的字符串返回1
有人能解释一下这里出了什么问题,我如何解决它吗
我用2012年7月18日编译的ApacheAnt版本1.7.1测试了它。
literal
是一个JavaScript字符串readline
是一个Java字符串。这两种不同的拆分方法表现不同。Java文档说。。。因此,结果数组中不包括尾随的空字符串。你说得对。Java做了不可想象的事情。多么愚蠢的API错误啊。