Czy jest tak w Javie, aby dowiedzieć się, czy dana ścieżka jest absolutna, czy nie, niezależnie od platformy, na której program jest obecnie uruchomiony. Więc, co ja chcę, to prawdopodobnie coś jak w poniższym przykładzie:Java: Jak sprawdzić, czy ścieżka jest bezwzględna, niezależnie od systemu operacyjnego.
W systemie Linux:
new File("/home/").isAbsolute() // Should return true.
new File("C:/My Documents").isAbsolute() // Should *also* return true.
W systemie Windows:
new File("C:/Documents").isAbsolute() // Should return true.
new File("/home/").isAbsolute() // Should *also* return true.
mogę kod prawdopodobnie coś obejść się z tym, ale ja chciałem tylko dowiedzieć się, czy ktoś zna wbudowaną klasę dostarczoną w Javie, aby rozwiązać ten problem. Czy ktoś może kiedykolwiek mieć ten problem? I jak to rozwiązałeś?
Dzięki!
na Linuksie, jak ścieżka "c:/My Documents" jest prawdopodobnie nieważne, a to z pewnością nie jest absolutna. W systemach implementujących standard posix wszystkie ścieżki istnieją poniżej pojedynczego "katalogu głównego", a zatem ścieżka bezwzględna zaczyna się od tego katalogu głównego. Tak więc absolutna ścieżka zawsze zaczyna się od "/". cokolwiek innego jest brane pod uwagę w stosunku do bieżącego katalogu roboczego procesu. W systemie Linux "C:/..." oznacza katalog wewnątrz bieżącego katalogu roboczego o nazwie "C:", co jest najprawdopodobniej bzdurą. – SingleNegationElimination
Twoje pytanie ma mało sensu. Wyobraź sobie hipotetyczny system operacyjny, w którym wszystkie ścieżki są absolutne. Powiedzmy, że w tym systemie operacyjnym jest Java. Aby spełnić twoje wymagania, potrzebujesz metody isFileAbsolute(), która zawsze zwraca wartość true, niezależnie od platformy, na której program jest aktualnie uruchomiony. Łatwy do wdrożenia, ale bez znaczenia. –
Mam sytuację, w której użytkownik konfiguruje katalog roboczy na komputerze zdalnym. Na komputerze zdalnym może działać system Unix lub Windows (choć najczęstszym scenariuszem jest komputer lokalny, a system zdalny to urządzenie unix). Ścieżka podana przez użytkownika musi zostać zweryfikowana i wymagane jest ustalenie, czy ścieżka jest bezwzględna. –