Как прочитать имя файла из консоли на java, при том, что вводим как "c:/path/file.ext" или "file.ext" Как распознать какой путь ввели и открыть этот файл?
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String file = reader.readLine();
BufferedReader reader1 = new BufferedReader(new FileReader(file));
String line = null;
while ((line = reader1.readLine()) != null) {
//непонятно
}
Для распознавания пути можно использовать метод isAbsolute()
у экземпляра класса File
:
File file1 = new File("file.ext");
File file2 = new File("C:\\path\\to\\file.ext");
System.out.println(file1.isAbsolute()); // false
System.out.println(file2.isAbsolute()); // true
Преобразовать путь из относительного в абсолютный можно следующими методами:
getAbsoluteFile()
- возвращает новый экземпляр типа File
с абсолютным путёмgetAbsolutePath()
- возвращает строку с абсолютным путёмПолучить относительный путь из абсолютного чуть сложнее:
String workingDir = Paths.get("").toAbsolutePath().toString();
String relative = new File(workingDir).toURI().relativize(file2.toURI()).getPath();
System.out.println(relative);
Для этого получаем текущую рабочую директорию и смотрим путь относительно неё.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Сейчас изучаю web-разработку на java, в уроках на Stepik используется jetty (https://stepikorg/course/146/syllabus) В конце первой части нужно скачать примеры из репа...
В Eclipce создал Spring Boot AplicationВ котором есть автоматически созданный класс ProjectAplication с методом main
У меня есть сервисные тесты (JUnit 5)В этих тестах вызываются сервисы, которые исполняются и потом вся полученная информация ассертится - всё...
Написал игру на движке libgdx, с использованием box2d для коллизииДля пуль использовал Body bullet, что бы обрабатывать коллизию и урон