Как прочитать имя файла из консоли на 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);
Для этого получаем текущую рабочую директорию и смотрим путь относительно неё.
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости