繁体   English   中英

url =新的java.net.URL()

[英]url = new java.net.URL()

url = new java.net.URL(s)对我不起作用。

我有一个字符串C:\\apache-tomcat-6.0.29\\webapps\\XEPServlet\\files\\m1.fo ,需要建立一个链接并将其提供给我的格式化程序以进行输出,但是接收到格式错误的url。 看来这并不能使我的字符串进入url。 我还要提及的是,该文件m1.fo位于文件文件夹中,位于我的webapp \\ product \\中,并且给出了字符串的完整路径,例如: getServletContext().getRealPath("files/m1.fo") 我做错了什么? 如何接收网址链接?

可以使用java.io.File API从文件路径获取URL

String path = "C:\\apache-tomcat-6.0.29\\webapps\\XEPServlet\\files\\m1.fo";
File f = new File(path);
URL url = f.toURI().toURL();

试试:file:/// C:/apache-tomcat-6.0.29/webapps/XEPServlet/files/m1.fo

最好不要写file:///。 实际上,它可以在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();

文件系统路径不是URL。 URL将需要一个协议前缀。 要引用文件系统,请在路径前面使用“ file:”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM