2012-03-04 36 views
-1

您好,我正在嘗試從其他計算機使用LAN線訪問java類文件。 我必須從用戶文件夾的IP 192.168.0.1加載測試儀類文件!請幫助我如何做到這一點,我的代碼如下所述。如何使用其他計算機加載類文件

import java.net.*; 
public class MyLoader { 
    public static void main (String argv[]) throws Exception { 


     URLClassLoader loader = new URLClassLoader(new URL[] { new URL("\\192.168.0.1\\user") });//ip of other computer where from user folder i use Tester class 

     // Load class from class loader. argv[0] is the name of the class to be loaded 
     Class c = loader.loadClass (argv[0]); 

     // Create an instance of the class just loaded 
     Object o = c.newInstance(); 

    } 
} 

在運行時我使用[java MyLoader Tester]。 這裏我的測試Java文件

public class Tester { 

public Tester() { 
     System.out.println ("Hello there"); 
    } 

    public static void main(String argv[]) { 
    System.out.println("Network Class Loaders"); 
    } 
} 

我得到這個異常錯誤

Exception in thread "main" java.net.MalformedURLException: no protocol: \192.168 
.0.1\user 
     at java.net.URL.<init>(Unknown Source) 
     at java.net.URL.<init>(Unknown Source) 
     at java.net.URL.<init>(Unknown Source) 
     at MyLoader.main(MyLoader.java:7) 
+0

(未測試)除非有例外情況,否則請嘗試在URL中使用一個方案,比如說'file:// 192.168.0.1/user' – 2012-03-04 11:14:13

回答

2

\192.168.0.1\user是不是一個有效的URL,作爲例外說。 URL需要協議(文件,http,https等),以便系統知道如何訪問資源。

正如Alexander建議,請嘗試file://192.168.0.1/user - 也可以從您的瀏覽器嘗試此操作,以查看此文件夾是否實際通過file:// URL訪問。

它只是您嘗試訪問的共享文件夾,還是由另一臺機器上的Web服務器提供的文件(在這種情況下使用http協議)?

+0

我想你需要一些額外的'/'或\。我會嘗試:'新的URL(「file://\\\\ 192.168.0.1 \\ user」)' – 2012-03-04 11:42:27

+0

我不打算它是Java語法(即逃脫),因爲這總是相當不可讀 - 但你是糾正它需要在代碼中轉義。 – DNA 2012-03-04 13:37:31

相關問題