Необходимо передать из переменной типа 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());
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
NetBeans 8 стоял раньше, поставил TomcatСоздал сервер, всё настроил по инструкциям, кавычки в catalina
Есть фрагментВ нём с сервера в методе onViewCreated() подгружаю историю сообщений между 2-мя пользователями
Хочу упросить код, так как в нём повторяются элементыПомогите это сделать