Необходимо передать из переменной типа URL ссылку на файл в переменную типа File. Как вариант, можно и String в File.
Весь интернет перерыл - ничего подходящего не нашёл. Среда разработки никаких подходящих методов не подсказала.
Из File в String всё конвертируется отлично, а вот наоборот - нет. Как это реализовать?
Попробуйте так:
FileInputStream fileIn = new FileInputStream(new File("любая строка типа String"));
Поскольку URL может указывать не только на файл в локальной файловой системе, то преобразовать его в File автоматически нельзя.
Один вариант просто создать поток из этого URL и читать из него.
URL u = ...;
byte buffer[] = new byte[1000];
InputStream is = u.openStream();
is.read(buffer);
Второй вариант - это анализ полученного URL и извлечение из него пути к файлу.
URL u = ...;
if(u.getProtocol().equals("file")) {
System.out.println(u.getFile());
}
Можно воспользоваться методом toURI класса URL:
URL url = ...
try
{
File file = new File(url.toURI());
}
catch (URISyntaxException e)
{
e.printStackTrace();
}
Ещё можно попробовать через метод getPath:
URL url = ...
File file = new File(url.getPath());
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости