簡體   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