Java가 프로그램이 현재 실행중인 플랫폼과 상관없이 주어진 경로가 절대 경로인지 여부를 확인하기 위해 어쨌든 존재합니까? 다음의 예와 같이 그럼, 내가 원하는 것은 아마 뭔가 : Linux에서Java : OS와 관계없이 경로가 절대인지 확인하는 방법
: Windows에서
new File("/home/").isAbsolute() // Should return true.
new File("C:/My Documents").isAbsolute() // Should *also* return true.
:
new File("C:/Documents").isAbsolute() // Should return true.
new File("/home/").isAbsolute() // Should *also* return true.
아마 코드 뭔가이 주위에 얻을,하지만 난 할 수 있습니다 이 문제를 해결하기 위해 Java에서 제공되는 내장 클래스를 알고 있는지 알아 내야합니다. 아니면 누구도이 문제를 겪었습니까? 어떻게 해결 했습니까?
감사합니다.
, "C :/내 문서"와 같은 경로는 아마도 무효이며, 그것은 확실히 절대 아니다. posix 표준을 구현하는 시스템에서는 모든 경로가 단일 '루트'아래에 있으므로 절대 경로가 해당 루트에서 시작됩니다. 따라서 절대 경로는 항상 "/"로 시작합니다. 그 밖의 것은 그 프로세스의 현재 작업 디렉토리와 관련된 것으로 간주됩니다. 리눅스에서 "C :/..."는 현 작업 디렉토리에서 "C :"라는 디렉토리를 의미하는 것으로 간주됩니다. – SingleNegationElimination
귀하의 질문에 약간의 의미가 있습니다. 모든 경로가 절대적인 가상 운영 체제를 상상해보십시오. 이 운영체제에 자바가 있다고 가정 해 봅시다. 따라서 요구 사항을 충족 시키려면 프로그램이 현재 실행중인 플랫폼에 관계없이 항상 true를 반환하는 isFileAbsolute() 메서드가 필요합니다. 구현하기 쉽지만 의미는 없습니다. –
사용자가 원격 컴퓨터에서 작업 디렉터리를 구성하는 경우가 있습니다. 원격 컴퓨터는 Unix 또는 Windows를 실행할 수 있습니다 (가장 일반적인 시나리오는 로컬 컴퓨터가 Windows이고 원격 컴퓨터가 유닉스 임). 사용자 지정 경로의 유효성을 검사해야하며 경로가 절대적인지 여부를 확인해야합니다. –