как загрузить файл класса, используя другой компьютер - PullRequest
0 голосов
/ 04 марта 2012

Здравствуйте, я пытаюсь получить доступ к файлу класса Java с другого компьютера, используя провод LAN.Я должен загрузить файл класса Tester с 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)

1 Ответ

2 голосов
/ 04 марта 2012

\192.168.0.1\user не является действительным URL, как говорится в исключении.Для URL-адреса требуется протокол (файл, http, https и т. Д.), Чтобы система знала, как получить доступ к ресурсам.

Как и предположил Александр, попробуйте file://192.168.0.1/user - также попробуйте это из браузера, чтобы увидеть, есть ли эта папкафактически доступен через file:// URL.

Это просто общая папка, к которой вы пытаетесь получить доступ, или файл доступен для доступа веб-сервером на другом компьютере (в этом случае используйте http протокол)?

...