我编写了一个 SVNkit 实现来检查 svn 存储库。只要存储库的 url 不包含空格,就没有问题。
但是,如果 url 确实包含空格,则会发生错误。找不到带有 url 的东西。
我已经尝试了几件事:
parseURIDecoded()
parseURIEncoded()
我也尝试用 %20 替换空格
-bgvv1983
我编写了一个 SVNkit 实现来检查 svn 存储库。只要存储库的 url 不包含空格,就没有问题。
但是,如果 url 确实包含空格,则会发生错误。找不到带有 url 的东西。
我已经尝试了几件事:
parseURIDecoded()
parseURIEncoded()
我也尝试用 %20 替换空格
-bgvv1983
我通常使用这个调用来传递 url :SvnTarget.fromURL(SVNURL.parseURIEncoded("URL String));
这应该照顾空白。
如果你URI
从 s 初始化 s 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
我发现我犯了一个愚蠢的错误。在原来的 shellscript 中有一行
svn 结帐https://gforge.cs.vu.nl/svn/ibis/mpj/trunk ibis-mpj
所以我复制了 url + 文件夹名称。因为我已经解决了空白问题,所以我没有看到我的错误。
所以现在我不再有问题了
bgv1983