使用Maven ScmProvider.list方法时,En-dash转换为连字符

时间:2012-10-17 12:12:39

标签: java maven-scm collabnet

Java中的文件对象不支持字符en-dash' - '(unicode \u2013)。它会自动将en-dash字符转换为连字符' - '(unicode \u002D)。

我正在使用ScmProvider.list方法:

ListScmResult list(ScmRepository repository, ScmFileSet fileSet, 
                      boolean recursive, ScmVersion version) 
  

列出存储库中存在的fileSet的每个元素(文件和目录)。

在文件集中,其中一个项目(SCM文件)的repo项目用正常连字符替换了en-dash。

我使用的是Java 1.6版。对此有任何限制吗?

1 个答案:

答案 0 :(得分:1)

您是说您认为java.io.File会自动将字符\u2013转换为常规连字符(代码\u002D)吗?这不是真的,至少在运行Oracle Java 6更新35的Windows 7机器上没有。

我尝试了以下代码。它创建了两个文件,文件名不同;一个是长划线,一个是常规划线。

new File("C:\\Temp\\Hello\u2013World").createNewFile();
new File("C:\\Temp\\Hello-World").createNewFile();

因此,无论您发生什么事情都不是由java.io.File中的某些自动转换或限制引起的。