Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
url=新的java.net.url()_Java_Url - Fatal编程技术网

url=新的java.net.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。我做错了什

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。我做错了什么?如何接收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();