Ant中Javascript拆分的奇怪结果

Strange result of Javascript split in Ant

本文关键字:结果 拆分 Javascript Ant      更新时间:2023-11-01

Javascript的split函数在拆分文本和拆分从文件读取的字符串时表现不同。

我有以下文件,其中包含一个字符、一个冒号和一个换行符:

$cat线a:$od-一行0000000 a:nl0000003

当我运行以下构建文件时:

<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生成文件:split.xml文字:'a:'->2读取行:'a:'->1构建成功总时间:0秒

拆分文本返回2,拆分从文件读取的字符串返回1。

有人能解释一下这里出了什么问题,我该怎么解决吗?

我使用2012年7月18日编译的ApacheAnt 1.7.1版本对其进行了测试。

literal是一个JavaScript字符串。readline是一个Java字符串。两种不同的拆分方法表现不同。Java文档中说。。。因此,尾随的空字符串不包括在结果数组中