Есть ли способ изменить действительный и существующий объект Hadoop Path в полезный объект Java File. Есть хороший способ сделать это, или мне нужно, чтобы дубинкой кодировать в представлении? Более очевидные подходы не работают, и кажется, что это будет обычная часть кода
void func(Path p) {
if (p.isAbsolute()) {
File f = new File(p.toURI());
}
}
Это не работает, потому что Path :: toURI () возвращает идентификатор "hdfs", а конструктор Java File (URI uri) распознает только идентификатор "file".
Есть ли способ заставить Path и File работать вместе?
**
Хорошо, как насчет конкретного ограниченного примера.
Path[] paths = DistributedCache.getLocalCacheFiles(job);
Предполагается, что DistributedCache предоставляет локализованную копию файла, но возвращает путь. Я предполагаю, что DistributedCache создает локальную копию файла, где они находятся на одном диске. Учитывая этот ограниченный пример, где, как мы надеемся, hdfs не в уравнении, есть ли способ для меня надежно преобразовать путь в файл?
**