Как избавиться от начальной косой черты в URI или URL?


Я использую

URL res = this.getClass().getClassLoader().getResource(dictionaryPath);
String path = res.getPath();
String path2 = path.substring(1);

Потому что вывод метода getPath () возвращает sth следующим образом:

 /C:/Users/......

И мне это нужно

 C:/Users....

Мне действительно нужен адрес ниже, потому что некоторые внешние библиотеки отказываются работать с косой чертой в начале или с файлом:/ в начале или с чем-либо еще.

Я перепробовал почти все методы в URL, такие как toString () toExternalPath () и т. д. и сделал то же самое с Ури, и ни один из них не вернул его, как мне нужно. (Я точно не знаю. поймите, почему он держит косую черту в начале).

Можно сделать это на моей машине, просто удалив первый символ. Но друг попытался запустить его на linux, и так как адреса там разные, он не работает...

Что же делать с такой проблемой?

3 4

3 ответа:

До тех пор, пока пути UNIX не должны содержать буквы дисков, вы можете попробовать следующее:

URL res = this.getClass().getClassLoader().getResource(dictionaryPath);
String path = res.getPath();
char a_char = text.charAt(2);
if (a_char==':') path = path.substring(1);

Преобразуйте URL-адрес в URI и используйте его в конструкторе файлов:

URL res = this.getClass().getClassLoader().getResource(dictionaryPath);
File file = new File(res.toURI());
String fileName = file.getPath();

Вы, вероятно, могли бы просто отформатировать строку, как только вы ее получите.

Примерно так:

Path2= path2[1:];