我正在尝试使用HttpClient将文件上传/删除到webdav服务器。但是,只要文件名由空格组成,就没有任何工作。我收到一条错误消息“无效的URI ---转义的绝对路径无效”。
这是我的网址=“http:// localhost:8080 / test file.txt”
private boolean delete(String fileName) {
HttpClient client = new HttpClient();
HttpHost host = new HttpHost(WEBDAV_URL, PORT_NUMBER);
client.getHostConfiguration().setHost(host);
DeleteMethod del = new DeleteMethod(WEBDAV_URL_COMPLETE + fileName);
try {
client.executeMethod(del);
return true;
} catch (HttpException e) {
e.printStackTrace();
return false;
} catch (IOException e) {
e.printStackTrace();
return false;
}
}
我应该使用任何方法或URL解析来解决问题
感谢
编辑,通过用“%20 ”替换空格来找到解决方案。
**
URL.replaceAll(“”,“%20”)
**
答案 0 :(得分:5)
我用过这个并得到我想要的东西......
URL.replaceAll(“”,“%20”)
答案 1 :(得分:2)
使用java.net.URLEncoder.encode
或用'+'替换你的空格
答案 2 :(得分:1)
您只需将文件重命名为:
test_file.txt or textFile.txt
通常的标准是在编码变量或为此创建文件时永远不要使用空格。
使用test_file(snake case)或textFile(camelCase)。