我编写了一个检查svn存储库的SVNkit实现。 只要存储库的url不包含空格,就没有问题。
但是如果url确实包含空格,则会发生错误。找不到网址的东西。
我已经尝试了几件事:
parseURIDecoded()
parseURIEncoded()
并且我也尝试用%20替换空格
-bgvv1983
答案 0 :(得分:0)
我通常使用此调用来传递网址:SvnTarget.fromURL(SVNURL.parseURIEncoded("URL String));
这应该照顾白色空间。
答案 1 :(得分:0)
如果您要从URI
初始化String
,则可能需要使用URLEncoder.encode
。
这是一个简单的片段:
String myUrlString = "http://www.google.com?q=foo bar";
try {
URI uri = new URI(myUrlString);
}
// will trigger and show stack trace
catch (URISyntaxException u) {
u.printStackTrace();
}
try {
URI uri = new URI(URLEncoder.encode(myUrlString, "UTF-8"));
System.out.println("OK");
}
// no catch statement will trigger
catch (URISyntaxException u) {
u.printStackTrace();
}
catch (UnsupportedEncodingException ue) {
ue.printStackTrace();
}
输出:
[the stack trace from the 1st "try" statement]
OK
答案 2 :(得分:0)
我发现我犯了一个愚蠢的错误。 在原始的shellcript中有一行
svn checkout https://gforge.cs.vu.nl/svn/ibis/mpj/trunk ibis-mpj
所以我复制了网址+文件夹名称。 因为我修正了白色空间问题,我没有看到我的错误。
所以现在我不再有问题了
bgv1983