url=新的java.net.url()
url=new java.net.url不适合我 我有一个字符串C:\apache-tomcat-6.0.29\webapps\XEPServlet\files\m1.fo,需要创建一个链接并将其提供给我的格式化程序进行输出,但收到了格式错误的url。它似乎没有使我的字符串成为url。url=新的java.net.url(),java,url,Java,Url,url=new java.net.url不适合我 我有一个字符串C:\apache-tomcat-6.0.29\webapps\XEPServlet\files\m1.fo,需要创建一个链接并将其提供给我的格式化程序进行输出,但收到了格式错误的url。它似乎没有使我的字符串成为url。 我还要提到的是,文件m1.fo位于我的webapp\product\的files文件夹中,我给出了字符串的完整路径,如:getServletContext.getRealPathfiles/m1.fo。我做错了什
我还要提到的是,文件m1.fo位于我的webapp\product\的files文件夹中,我给出了字符串的完整路径,如:getServletContext.getRealPathfiles/m1.fo。我做错了什么?如何接收url链接 文件系统路径不是URL。URL需要一个协议前缀。要引用文件系统,请使用路径前面的file:。可以使用java.io.file API从文件路径获取URL:
尝试:file:///C:/apache-tomcat-6.0.29/webapps/XEPServlet/files/m1.fo最好不要写文件://。的确,它可以在windows系统上运行,但在unix系统中存在问题。 而不是使用
myReq.put("xml", new String []{"file:" + System.getProperty("file.separator") +
getServletContext().getRealPath(DESTINATION_DIR_PATH) +
System.getProperty("file.separator") + xmlfile});
你可以写
myReq.put("xml", new String [] {getUploadedFileURL (xmlfile)} );
,在哪里
public String getUploadedFileURL(String filename) {
java.io.File filePath = new java.io.File(new
java.io.File(getServletContext().getRealPath(DESTINATION_DIR_PATH)),
filename);
return filePath.toURI().toURL().toString();
您需要避开这些反斜杠。在Java中,文件名中根本不需要反斜杠。使用/@davogotland-不应期望为100%。他的一个问题没有答案,有些问题似乎没有明确的答案。0%是一种抑制,但不要因为没有100%甚至75%而惩罚某人。我设置了路径file:///C:/apache-tomcat-6.0.29/webapps/XEPServlet/files/m1.fo,并且还使用了:java.net.URL URL=null;请尝试{url=new java.net.url;}catchjava.net.MalformedURLException e{errors=true;errorReport+=格式错误的url:'+s+'\n;}返回url;你好我已经启动了我的webservice,但它使用静态路径格式化文件。现在,我想保持相同的路径,但接受任何文件。我的上传程序给出了如下路径file:///C:\Documents and Settings\Administrator\Desktop\m1.fo问题是:如何从该路径中仅取名称-file:///C:\文档和设置\Administrator\Desktop\m1.fo???提前感谢您查看URL类javadoc。有很多方法可以让你检索URL的各个部分。对我来说是+1,但我想也许解决方案可以更清楚地公开。
public String getUploadedFileURL(String filename) {
java.io.File filePath = new java.io.File(new
java.io.File(getServletContext().getRealPath(DESTINATION_DIR_PATH)),
filename);
return filePath.toURI().toURL().toString();