MalformedURLException

0

Zdarzyło się komuś, że ta sama metoda (na Windowsie) różnie traktuje początkowe "C:" w nazwie pliku. Czasami jako symbol dysku i wtedy działa zgodnie z oczekiwaniami, czasami jako nazwę protokołu i wyrzuca wspomniany w temacie wyjątek ?
U mnie zdarzyło się to w takiej sytuacji:

    XMLReader parser=XMLReaderFactory.createXMLReader();
    File f=new File(....);    
    .....
    parser.parse(f.getAbsolutePath();

Program uruchamiany z Eclipse działa poprawnie.
Program uruchamiany z wiersza poleceń wyrzuca wyjątek (chociaż nie zawsze, jeśli polecenie wpisane jest w wierszu poleceń TotalCommandera i zatwierdzone przez Shift+Enter, to program znów działa poprawnie, ale pojawia się nowa zagadka: metoda File.getAbsolutePath() zwraca co innego - zwraca "krótką" wersję nazwy katalogu (opuszczone spacje i polskie litery, ograniczenie do 8 znaków itp.))
Pomogła taka zmiana

   URL url=new URL("file:"+f.getAbsolutePath());
   parser.parse(url.toString());

pozdrawiam

0

file:// ?

pozdrawiam

0

W programie jest tak:

URL url=new URL("file:"+f.getAbsolutePath());

Po zmianie na

URL url=new URL("file//:"+f.getAbsolutePath());

nie działa.
pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1