2013-11-15 2 views
0

파일 I/O의 경우. 상대 파일 이름과 절대 파일 이름을 사용하도록했습니다. 그래서 내 질문에 절대 파일 이름 대신 상대적인 파일 이름을 사용하는 것이 더 나은 이유는 무엇입니까? 상대 하나는 당신이에있어 폴더에서 지적하는 반면파일 I/O java 절대 값과 상대 파일 이름

답변

1

절대 파일 이름은 플랫폼 의존한다.

1

왜 절대보다는 상대 파일 이름을 사용하는 것이 좋습니다?

실제로 수행하는 작업에 따라 다릅니다. 사실 어떤 목적을 위해 절대 경로가 상대 경로보다 낫습니다.

절대 경로의 주요 이점은 항상 동일한 것을 의미한다는 것입니다.

절대 경로의 주요 단점은 파일 (또는 트리)을 이동하면 절대 경로가 변경된다는 것입니다. 이전에 파일의 위치를 ​​절대 경로로 저장 한 경우 이제 파일을 변경해야합니다. 상대 경로의

장점은

    가 일반적으로 더 사용자 친화적 인
  • 가 짧은 것을
  • , 및
  • 그들이 할 수 1은 쉽게 파일의 컬렉션을 처리 할 수 ​​있도록되어 있는지 움직였다.

는하지만 단점은 (A File 객체 적어도 자바에서) 상대 경로는 JVM의 현재 디렉토리-해결 상대는 것입니다. 많은 상황에서 실제로 무엇인지에 대한 불확실성 (사용자 및/또는 개발자의 마음에)이 있습니다. 그리고 그것이 기대 한 바가 아니라면 상대 경로가 잘못 해석됩니다.


1 -주의해야 할 점은 당신이 실제로 해당 현재 디렉토리시작되는 JVM에 의존하고 있다는 점이다. JVM이 시작되면 현재 디렉토리를 변경할 수 없습니다. 아니면 적어도 순수한 자바에서는 그것을 할 수 없습니다 ... AFAIK.

0

당신은 당신이 절대 경로로로 실행할 수 있습니다 문제 두 가지 종류가 다른 시스템에 프로젝트를 이동하는 경우 :

  1. 자원은 파일 시스템의 다른 장소에 상주 할 수는
  2. 당신은 할 수있다 운영 체제가 다른 종류 (예 : Windows vs. Linux/Unix)을 사용하고 있습니다. 이러한 시스템은 전혀 다른 종류의 경로 설명자를 사용합니다.