JavaTM Platform
Standard Ed. 6

java.io
클래스 File

java.lang.Object 
  상위를 확장 java.io.File
모든 구현된 인터페이스:
Serializable , Comparable <File >


public class File
extends Object
implements Serializable , Comparable <File >

파일 및 디렉토리의 경로명의 추상 표현입니다.

사용자 인터페이스 및 operating system는, 시스템에 의존하는 「경로명 스트링」로 파일 및 디렉토리를 지정합니다. 이 클래스는, 계층적인 경로명의 추상적으로 시스템에 의존하지 않는 뷰를 제공합니다. 「추상 경로명」은 2 개의 컴퍼넌트로 구성됩니다.

  1. 시스템에 의존하는 임의 지정의 접두사 캐릭터 라인. 디스크 드라이버 지시자, UNIX 루트 디렉토리의 "/", Microsoft Windows UNC 경로명의 것 "\\\\"
  2. 제로 이상의 이름의 캐릭터 라인의 순서
추상 경로명의 최초의 이름은, 디렉토리명 또는 호스트명 (Microsoft Windows UNC 경로명의 경우)으로 할 수 있습니다. 추상 경로명의 그 이후의 각 이름은 디렉토리를 나타냅니다. 마지막 이름은 디렉토리와 파일의 어느쪽이든을 나타냅니다. 「빈 상태(empty)」의 추상 경로명은 접두사를 가지지 않고, 이름 순서는 빈 상태(empty)입니다.

경로명 스트링과 추상 경로명의 사이의 변환은, 본질적으로 시스템에 의존합니다. 추상 경로명이 경로명 스트링에 변환되면(자), 각 이름은 1 개의 디폴트의 「단락 문자」로 단락지어집니다. 디폴트의 이름 단락 문자는 시스템 프로퍼티 file.separator 로 정의되어 이 클래스의 public, static 필드인 separator separatorChar 로 유효하게 됩니다. 경로명 스트링이 추상 경로명에 변환되면(자), 그 중의 이름은 디폴트의 이름 단락 문자로 단락지어지는지, 기본이 되는 시스템이 지원하는 것 외의 이름 단락 문자로 단락지어집니다.

경로명 (추상 형식 또는 캐릭터 라인 형식의 어디라도)은, 「절대」또는 「상대」의 어느 쪽인지입니다. 절대 경로명은 완전하고, 그것이 가리키는 파일을 찾아내기 위해서(때문에) 다른 정보를 필요로 하지 않습니다. 한편, 상대 경로명은, 다른 경로명으로부터의 정보를 이용해 해석될 필요가 있습니다. 디폴트에서는,java.io 패키지의 클래스는, 항상 현재의 사용자 디렉토리를 기준에 상대 경로명을 해결합니다. 이 디렉토리는 시스템 프로퍼티 user.dir 로 지정되어 일반적으로은 Java 가상 머신의 호출원의 디렉토리입니다.

추상 경로명의 「부모」는, 이 클래스의 getParent() 메소드를 호출하는 것으로 취득할 수 있어 경로명의 접두사 (존재하는 경우) 및 경로명의 이름 순서의 각 이름 (마지막 이름을 제외하다)으로 구성됩니다. 각 디렉토리의 절대 경로명은, 절대 추상 경로명이 그 디렉토리의 절대 경로명으로 시작되는 모든 File 객체의 상위에 있습니다. 예를 들어, 추상 경로명 "/usr" 가 가리키는 디렉토리는,"/usr/local/bin" 라고 하는 경로명으로 나타나는 디렉토리의 상위에 있습니다.

접두사의 개념은, 다음과 같이, UNIX 플랫폼의 루트 디렉토리, 및 Microsoft Windows 플랫폼의 드라이브 지시자, 루트 디렉토리, 및 UNC 경로명을 취급하기 위해서(때문에) 사용됩니다.

이 클래스의 인스턴스는, 실제의 파일 시스템 객체 (파일이나 디렉토리등)를 나타내는 경우도, 가리키지 않는 경우도 있습니다. 이러한 객체를 나타내는 경우, 그 객체는 「파티션」내에 존재합니다. 파티션이란, 파일 시스템용의 기억역으로 operating system 고유의 부분입니다. 1 개의 기억장치 (물리 디스크 드라이버, 플래쉬 메모리, CD-ROM 등)에, 복수의 파티션이 포함되는 일이 있습니다. 객체가 존재하는 경우는, 이 경로명의 절대 형식의 상위에 있는 것에 의해지정되는 파티션에 존재합니다.

파일 시스템에서는, 실제의 파일 시스템 객체에 대한 특정의 조작 (읽어내, 기입해, 실행등)에의 제약을 구현할 수가 있습니다. 이러한 제약을 총칭해 「액세스권」이라고 부릅니다. 파일 시스템에는, 1 개의 객체에 대해서 복수의 조의 액세스권이 설정되어 있는 일이 있습니다. 예를 들어, 어느 조를 객체의 「소유자」에게 적용해, 다른 조를 다른 모든 사용자에게 적용할 수가 있습니다. 객체의 액세스권이 원인으로, 이 클래스의 일부의 메소드가 실패하는 일이 있습니다.

File 클래스의 인스턴스는 불변입니다. 즉, 한 번 작성되면(자),File 객체로 나타내지는 추상 경로명은 변경되지 않습니다.

도입된 버젼:
JDK1. 0
관련 항목:
직렬화 된 형식

필드의 개요
static String pathSeparator
          시스템에 의존하는 패스 단락 문자입니다.
static char pathSeparatorChar
          시스템에 의존하는 패스 단락 문자입니다.
static String separator
          시스템에 의존하는 디폴트의 이름 단락 문자입니다.
static char separatorChar
          시스템에 의존하는 디폴트의 이름 단락 문자입니다.
 
생성자 의 개요
File (File  parent, String  child)
          친추상 경로명 및 자식 경로명 스트링로부터 새로운 File 의 인스턴스를 생성합니다.
File (String  pathname)
          지정된 경로명 스트링을 추상 경로명으로 변환해, 새로운 File 의 인스턴스를 생성합니다.
File (String  parent, String  child)
          친경로명 스트링 및 자식 경로명 스트링로부터 새로운 File 의 인스턴스를 생성합니다.
File (URI  uri)
          지정된 file: URI 를 추상 경로명으로 변환해, 새로운 File 의 인스턴스를 생성합니다.
 
메소드의 개요
 boolean canExecute ()
          이 추상 경로명이 가리키는 파일을 어플리케이션을 실행할 수 있을지 어떨지를 판정합니다.
 boolean canRead ()
          이 추상 경로명이 가리키는 파일을 어플리케이션을 읽어들일 수 있을지 어떨지를 판정합니다.
 boolean canWrite ()
          이 추상 경로명이 가리키는 파일을 어플리케이션을 변경할 수 있을지 어떨지를 판정합니다.
 int compareTo (File  pathname)
          2 개의 추상 경로명을 어휘적으로 비교합니다.
 boolean createNewFile ()
          이 추상 경로명이 가리키는 빈 상태(empty)의 새로운 파일을 불가분 (atomic)에 생성합니다 (그 이름의 파일이 아직 존재하지 않는 경우만).
static File createTempFile (String  prefix, String  suffix)
          지정된 접두사와 접미사(suffix)을 파일명의 생성에 사용해, 디폴트의 임시 파일 디렉토리에 빈 상태(empty)의 파일을 생성합니다.
static File createTempFile (String  prefix, String  suffix, File  directory)
           지정된 디렉토리에서 새로운 빈 상태(empty)의 파일을 생성해, 그 이름에는, 지정된 접두사 및 접미사(suffix)의 캐릭터 라인이 사용됩니다.
 boolean delete ()
          이 추상 경로명이 가리키는 파일 또는 디렉토리를 삭제합니다.
 void deleteOnExit ()
          이 추상 경로명이 가리키는 파일 또는 디렉토리가, 가상 머신이 종료했을 때에 삭제되도록(듯이) 요구합니다.
 boolean equals (Object  obj)
          이 추상 경로명이 지정된 객체와 동일한지 어떤지를 판정합니다.
 boolean exists ()
          이 추상 경로명이 가리키는 파일 또는 디렉토리가 존재할지 어떨지를 판정합니다.
 File getAbsoluteFile ()
          이 추상 경로명의 절대 형식을 돌려줍니다.
 String getAbsolutePath ()
          이 추상 경로명의 절대 경로명 스트링을 돌려줍니다.
 File getCanonicalFile ()
          이 추상 경로명의 정규 형식을 돌려줍니다.
 String getCanonicalPath ()
          이 추상 경로명의 정규의 경로명 스트링을 돌려줍니다.
 long getFreeSpace ()
          이 추상 경로명으로지정되는 파티션내에서 할당되지 않은 바이트수를 돌려줍니다.
 String getName ()
          이 추상 경로명이 가리키는 파일 또는 디렉토리의 이름을 돌려줍니다.
 String getParent ()
          이 추상 경로명의 부모 경로명 스트링을 돌려줍니다.
 File getParentFile ()
          이 추상 경로명의 부모의 추상 경로명을 돌려줍니다.
 String getPath ()
          이 추상 경로명을 경로명 스트링로 변환합니다.
 long getTotalSpace ()
          이 추상 경로명으로지정되는 파티션의 사이즈를 돌려줍니다.
 long getUsableSpace ()
          이 추상 경로명으로지정되는 파티션상에서, 이 가상 머신을 이용할 수 있는 바이트수를 돌려줍니다.
 int hashCode ()
          이 추상 경로명의 해시 코드를 계산합니다.
 boolean isAbsolute ()
          이 추상 경로명이 절대인가 어떤가를 판정합니다.
 boolean isDirectory ()
          이 추상 경로명이 가리키는 파일이 디렉토리일지 어떨지를 판정합니다.
 boolean isFile ()
          이 추상 경로명이 가리키는 파일이 보통 파일인가 어떤가를 판정합니다.
 boolean isHidden ()
          이 추상 경로명이 가리키는 파일이 숨겨진 파일인가 어떤가를 판정합니다.
 long lastModified ()
          이 추상 경로명이 가리키는 파일이 마지막에 변경된 시각을 돌려줍니다.
 long length ()
          이 추상 경로명으로 지정되고 있는 파일의 길이를 돌려줍니다.
 String [] list ()
          이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리를 나타내는 캐릭터 라인의 배열을 돌려줍니다.
 String [] list (FilenameFilter  filter)
          이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리 중(안)에서, 지정된 필터의 기준을 채우는 것의 캐릭터 라인의 배열을 돌려줍니다.
 File [] listFiles ()
          이 추상 경로명이 가리키는 디렉토리내의 파일을 나타내는 추상 경로명의 배열을 돌려줍니다.
 File [] listFiles (FileFilter  filter)
          이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리 중(안)에서, 지정된 필터의 기준을 채우는 것의 추상 경로명의 배열을 돌려줍니다.
 File [] listFiles (FilenameFilter  filter)
          이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리 중(안)에서, 지정된 필터의 기준을 채우는 것의 추상 경로명의 배열을 돌려줍니다.
static File [] listRoots ()
          유효한 파일 시스템의 루트를 리스트 표시합니다.
 boolean mkdir ()
          이 추상 경로명이 가리키는 디렉토리를 생성합니다.
 boolean mkdirs ()
          이 추상 경로명이 가리키는 디렉토리를 생성합니다.
 boolean renameTo (File  dest)
          이 추상 경로명이 가리키는 파일의 이름을 변경합니다.
 boolean setExecutable (boolean executable)
          이 추상 경로명에 소유자의 실행 권한을 설정하는 편리한 메소드입니다.
 boolean setExecutable (boolean executable, boolean ownerOnly)
          이 추상 경로명에 소유자 또는 전원의 실행 권한을 설정합니다.
 boolean setLastModified (long time)
          이 추상 경로명이 가리키는 파일 또는 디렉토리가 변경된 시각을 설정합니다.
 boolean setReadable (boolean readable)
          이 추상 경로명에 소유자의 읽기 권한을 설정하는 편리한 메소드입니다.
 boolean setReadable (boolean readable, boolean ownerOnly)
          이 추상 경로명에 소유자 또는 전원의 읽기 권한을 설정합니다.
 boolean setReadOnly ()
          이 추상 경로명이 가리키는 파일 또는 디렉토리에 마크를 설정해, 읽기 조작만이 허가되도록(듯이) 합니다.
 boolean setWritable (boolean writable)
          이 추상 경로명에 소유자의 쓰기 권한을 설정하는 편리한 메소드입니다.
 boolean setWritable (boolean writable, boolean ownerOnly)
          이 추상 경로명에 소유자 또는 전원의 쓰기 권한을 설정합니다.
 String toString ()
          이 추상 경로명의 경로명 스트링을 돌려줍니다.
 URI toURI ()
          이 추상 경로명을 나타내는 file: URI 를 구축합니다.
 URL toURL ()
          추천 되고 있지 않습니다.  이 메소드에서는, URL 내에서 사용할 수 없는 이스케이프 문자는 자동적으로 변환할 수 없습니다. 새로운 코드의 추상 경로명을 URL 로 변환하려면 , 우선 toURI 메소드를 사용해 URI 로 변환하고 나서,URI.toURL 메소드를 사용해 URL 로 변환하는 것을 추천합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , finalize , getClass , notify , notifyAll , wait , wait , wait
 

필드의 상세

separatorChar

public static final char separatorChar
시스템에 의존하는 디폴트의 이름 단락 문자입니다. 이 필드는, 시스템 프로퍼티 file.separator 의 값의 최초의 문자를 포함하도록(듯이) 초기화됩니다. UNIX 시스템의 경우, 이 필드의 값은 '/', Microsoft Windows 시스템의 경우는 '\\' 입니다.

관련 항목:
System.getProperty(java.lang.String)

separator

public static final String  separator
시스템에 의존하는 디폴트의 이름 단락 문자입니다. 편리하게 캐릭터 라인으로 나타내집니다. 이 캐릭터 라인은 1 문자, 즉 separatorChar 입니다.


pathSeparatorChar

public static final char pathSeparatorChar
시스템에 의존하는 패스 단락 문자입니다. 이 필드는, 시스템 프로퍼티 path.separator 의 값의 선두 문자를 사용해 초기화됩니다. 이 문자는, 「패스 리스트」로서 건네받는 파일의 순서중의 파일명을 단락짓기 위해서(때문에) 사용됩니다. UNIX 시스템의 경우, 이 단락 문자는 ':' 입니다. Microsoft Windows 시스템에서는 ';' 입니다.

관련 항목:
System.getProperty(java.lang.String)

pathSeparator

public static final String  pathSeparator
시스템에 의존하는 패스 단락 문자입니다. 편리하게 캐릭터 라인으로 나타내집니다. 이 캐릭터 라인은 1 문자 즉 pathSeparatorChar 입니다.

생성자 의 상세

File

public File(String  pathname)
지정된 경로명 스트링을 추상 경로명으로 변환해, 새로운 File 의 인스턴스를 생성합니다. 지정된 캐릭터 라인이 빈 상태(empty)의 캐릭터 라인의 경우, 결과는 빈 상태(empty)의 추상 경로명이 됩니다.

파라미터:
pathname - 경로명 스트링
예외:
NullPointerException - pathname 인수가 null 의 경우

File

public File(String  parent,
            String  child)
친경로명 스트링 및 자식 경로명 스트링로부터 새로운 File 의 인스턴스를 생성합니다.

parentnull 의 경우, 새로운 File 의 인스턴스는, 지정된 child 경로명 스트링로 단일 인수의 File 생성자 을 호출한 것처럼 생성됩니다.

그렇지 않은 경우,parent 경로명 스트링은 디렉토리를 나타내,child 경로명 스트링은 디렉토리 또는 파일을 나타냅니다. child 경로명 스트링이 절대의 경우, 그것은 시스템에 의존하는 방법으로 상대 경로명에 변환됩니다. parent 가 빈 상태(empty)의 캐릭터 라인의 경우, 새로운 File 의 인스턴스는,child 를 추상 경로명으로 변환해, 그 결과를 시스템에 의존하는 디폴트 디렉토리를 기준에 해결하는 것으로 생성됩니다. 그렇지 않은 경우, 각 경로명 스트링은 추상 경로명에 변환되어 아이 추상 경로명은 부모를 기준에 해결됩니다.

파라미터:
parent - 친경로명 스트링
child - 자 경로명 스트링
예외:
NullPointerException - childnull 의 경우

File

public File(File  parent,
            String  child)
친추상 경로명 및 자식 경로명 스트링로부터 새로운 File 의 인스턴스를 생성합니다.

parentnull 의 경우, 새로운 File 의 인스턴스는, 지정된 child 경로명 스트링로 단일 인수의 File 생성자 을 호출한 것처럼 생성됩니다.

그렇지 않은 경우,parent 추상 경로명은 디렉토리를 나타내,child 경로명 스트링은 디렉토리 또는 파일을 나타냅니다. child 경로명 스트링이 절대의 경우, 그것은 시스템에 의존하는 방법으로 상대 경로명에 변환됩니다. parent 가 빈 상태(empty)의 추상 경로명의 경우, 새로운 File 의 인스턴스는,child 를 추상 경로명으로 변환해, 그 결과를 시스템에 의존하는 디폴트 디렉토리를 기준에 해결하는 것으로 생성됩니다. 그렇지 않은 경우, 각 경로명 스트링은 추상 경로명에 변환되어 아이 추상 경로명은 부모를 기준에 해결됩니다.

파라미터:
parent - 친추상 경로명
child - 자 경로명 스트링
예외:
NullPointerException - childnull 의 경우

File

public File(URI  uri)
지정된 file: URI 를 추상 경로명으로 변환해, 새로운 File 의 인스턴스를 생성합니다.

file: URI 의 형식은 시스템에 의존하기 위해(때문에), 이 생성자 이 실시하는 변환도 시스템에 의존합니다.

지정된 추상 경로명이 f 의 경우는, 다음과 같이 변환됩니다.

new File( f. toURI ()). equals( f. getAbsoluteFile ())
이 예의 경우, 원의 추상 경로명, URI, 및 새로운 추상 경로명은, 같은 Java 가상 머신의 복수의 호출로 작성할 필요가 있습니다. 다만, 어느 operating system의 가상 머신으로 작성한 file: URI 를 다른 operating system의 가상 머신의 추상 경로명으로 변환하는 경우, 일반적으로은 이와 같이 변환되지 않습니다.

파라미터:
uri - 계층형의 절대 URI. 형식은,"file", 빈 상태(empty)이 아닌 패스 컴포넌트, 정의되지 않은 권한, 쿼리, fragment 컴퍼넌트와 동등
예외:
NullPointerException - urinull 의 경우
IllegalArgumentException - 상기의 파라미터의 전제 조건이 채워지지 않은 경우
도입된 버젼:
1.4
관련 항목:
toURI() , URI
메소드의 상세

getName

public String  getName()
이 추상 경로명이 가리키는 파일 또는 디렉토리의 이름을 돌려줍니다. 이것은, 경로명의 이름 순서의 마지막 이름입니다. 경로명의 이름 순서가 빈 상태(empty)의 경우, 빈 상태(empty)의 캐릭터 라인이 돌려주어집니다.

반환값:
이 추상 경로명이 가리키는 파일 또는 디렉토리의 이름. 이 경로명의 이름 순서가 빈 상태(empty)의 경우는 빈 상태(empty)의 캐릭터 라인

getParent

public String  getParent()
이 추상 경로명의 부모 경로명 스트링을 돌려줍니다. 이 경로명이 부모 디렉토리를 나타내지 않는 경우는 null 를 돌려줍니다.

추상 경로명의부모는, 경로명의 접두사 (존재하는 경우) 및 경로명의 이름 순서의 각 이름 (마지막 이름을 제외하다)으로 구성됩니다. 이름 순서가 빈 상태(empty)의 경우, 경로명은 부모 디렉토리를 나타내지 않습니다.

반환값:
이 추상 경로명이 가리키는 부모 디렉토리의 경로명 스트링. 이 경로명이 부모를 나타내지 않는 경우는 null

getParentFile

public File  getParentFile()
이 추상 경로명의 부모의 추상 경로명을 돌려줍니다. 이 경로명이 부모 디렉토리를 나타내지 않는 경우는 null 를 돌려줍니다.

추상 경로명의부모는, 경로명의 접두사 (존재하는 경우) 및 경로명의 이름 순서의 각 이름 (마지막 이름을 제외하다)으로 구성됩니다. 이름 순서가 빈 상태(empty)의 경우, 경로명은 부모 디렉토리를 나타내지 않습니다.

반환값:
이 추상 경로명이 가리키는 부모 디렉토리의 추상 경로명. 이 경로명이 부모를 나타내지 않는 경우는 null
도입된 버젼:
1.2

getPath

public String  getPath()
이 추상 경로명을 경로명 스트링로 변환합니다. 결과적으로 얻을 수 있는 캐릭터 라인은,디폴트의 이름 단락 문자 를 사용해 이름 순서의 이름을 단락짓습니다.

반환값:
이 추상 경로명의 캐릭터 라인 형식

isAbsolute

public boolean isAbsolute()
이 추상 경로명이 절대인가 어떤가를 판정합니다. 절대 경로명의 정의는 시스템에 의존합니다. UNIX 시스템의 경우, 경로명은 접두사가 "/" 의 경우에 절대입니다. Microsoft Windows 시스템의 경우, 경로명은 접두사가 드라이브 지시자의 뒤에 "\\" 가 계속되는 경우, 또는 접두사가 "\\\\" 의 경우에 절대입니다.

반환값:
이 추상 경로명이 절대인 경우는 true, 그렇지 않은 경우는 false

getAbsolutePath

public String  getAbsolutePath()
이 추상 경로명의 절대 경로명 스트링을 돌려줍니다.

이 추상 경로명이 벌써 절대인 경우, 경로명 스트링은 getPath() 메소드와 같이 간단하게 돌려주어집니다. 이 추상 경로명이 빈 상태(empty)의 추상 경로명의 경우, 현재의 사용자 디렉토리 (시스템 프로퍼티 user.dir 로 나타난다)의 경로명 스트링이 돌려주어집니다. 그렇지 않은 경우, 이 경로명은 시스템에 의존하는 방법으로 해결됩니다. UNIX 시스템의 경우, 상대 경로명은 현재의 사용자 디렉토리를 기준에 해결하는 것으로 절대로 됩니다. Microsoft Windows 시스템의 경우, 상대 경로명은 경로명으로 나타난 드라이브의 현재의 디렉토리가 있는 경우는, 그것을 기준에 해결하는 것으로 절대로 됩니다. 없는 경우는, 현재의 사용자 디렉토리를 기준에 해결됩니다.

반환값:
이 추상 경로명과 같은 파일 또는 디렉토리를 나타내는 절대 경로명 스트링
예외:
SecurityException - 필수의 시스템 프로퍼티의 값에 액세스 할 수 없는 경우
관련 항목:
isAbsolute()

getAbsoluteFile

public File  getAbsoluteFile()
이 추상 경로명의 절대 형식을 돌려줍니다. new File(this. getAbsolutePath() ) 와 동등합니다.

반환값:
이 추상 경로명과 같은 파일 또는 디렉토리를 나타내는 절대 경로명
예외:
SecurityException - 필수의 시스템 프로퍼티의 값에 액세스 할 수 없는 경우
도입된 버젼:
1.2

getCanonicalPath

public String  getCanonicalPath()
                        throws IOException 
이 추상 경로명의 정규의 경로명 스트링을 돌려줍니다.

정규의 경로명은, 일의의 절대 패스입니다. 정규의 경로명의 정확한 정의는, 시스템에 의존합니다. 이 메소드는 우선, 필요에 따라서 경로명을 절대 형식으로 변환합니다. 결과는,getAbsolutePath() 메소드를 호출했을 경우와 같게 됩니다. 다음에, 시스템에 의존하는 일의의 형식에, 그 경로명을 맵 합니다. 이 때, 일반적으로은, 경로명으로부터 ". " (이)나 ".." 등의 장황명을 삭제해, 기호 연결을 해결해 (UNIX 플랫폼의 경우), 드라이브 네임의 대문자 소문자를 적절히 변환해 (Microsoft Windows 플랫폼의 경우).

기존의 파일 또는 디렉토리를 나타내는 각 경로명에는, 각각 고유의 정규 형식이 있습니다. 존재하지 않는 파일 또는 디렉토리를 나타내는 각 경로명에도 고유의 정규 형식이 있습니다. 존재하지 않는 파일 또는 디렉토리의 경로명의 정규 형식은, 그 파일 또는 디렉토리가 작성된 뒤의 같은 경로명의 정규 형식과는 다른 경우가 있습니다. 똑같이, 기존의 파일 또는 디렉토리의 경로명의 정규 형식은, 그 파일 또는 디렉토리가 삭제된 뒤의 같은 경로명의 정규 형식과는 다른 경우가 있습니다.

반환값:
이 추상 경로명과 같은 파일 또는 디렉토리를 나타내는 정규 경로명 스트링
예외:
IOException - 입출력 에러가 발생했을 경우. 정규의 경로명을 구축하는 것으로 파일 시스템의 쿼리를 요구하면(자) 발생한다
SecurityException - 필수의 시스템 프로퍼티의 값에 액세스 할 수 없는 경우, 또는 시큐리티 매니저가 존재해, 한편 시큐리티 매니저의 SecurityManager.checkRead(java.io.FileDescriptor) 메소드가 파일에의 읽어내 액세스를 허가하지 않는 경우
도입된 버젼:
JDK1. 1

getCanonicalFile

public File  getCanonicalFile()
                      throws IOException 
이 추상 경로명의 정규 형식을 돌려줍니다. new File(this. getCanonicalPath() ) 와 동등합니다.

반환값:
이 추상 경로명과 같은 파일 또는 디렉토리를 나타내는 정규 경로명 스트링
예외:
IOException - 입출력 에러가 발생했을 경우. 정규의 경로명을 구축하는 것으로 파일 시스템의 쿼리를 요구하면(자) 발생한다
SecurityException - 필수의 시스템 프로퍼티의 값에 액세스 할 수 없는 경우, 또는 시큐리티 매니저가 존재해, 한편 시큐리티 매니저의 SecurityManager.checkRead(java.io.FileDescriptor) 메소드가 파일에의 읽어내 액세스를 허가하지 않는 경우
도입된 버젼:
1.2

toURL

@Deprecated 
public URL  toURL()
          throws MalformedURLException 
추천 되고 있지 않습니다.  이 메소드에서는, URL 내에서 사용할 수 없는 이스케이프 문자는 자동적으로 변환할 수 없습니다. 새로운 코드의 추상 경로명을 URL 로 변환하려면 , 우선 toURI 메소드를 사용해 URI 로 변환하고 나서,URI.toURL 메소드를 사용해 URL 로 변환하는 것을 추천합니다.

이 추상 경로명을 file: URL 로 변환합니다. URL 의 정확한 형식은 시스템에 의존합니다. 이 추상 경로명이 가리키는 파일이 디렉토리이라고 판별할 수 있었을 경우, 변환 후의 URL 는 slash로 끝납니다.

반환값:
파일 URL 를 나타내는 URL 객체
예외:
MalformedURLException - 패스를 URL 로서 구문 분석 할 수 없는 경우
도입된 버젼:
1.2
관련 항목:
toURI() , URI , URI.toURL() , URL

toURI

public URI  toURI()
이 추상 경로명을 나타내는 file: URI 를 구축합니다.

URI 의 정확한 형식은 시스템에 의존합니다. 이 추상 경로명이 가리키는 파일이 디렉토리이라고 판별할 수 있었을 경우, 변환 후의 URI 는 slash로 끝납니다.

지정된 추상 경로명이 f 의 경우는, 다음과 같이 변환됩니다.

new File ( f. toURI()). equals( f. getAbsoluteFile ())
이 예의 경우, 원의 추상 경로명, URI, 및 새로운 추상 경로명은, 같은 Java 가상 머신의 복수의 호출로 작성할 필요가 있습니다. 다만, 어느 operating system의 가상 머신으로 작성한 file: URI 를 다른 operating system의 가상 머신의 추상 경로명으로 변환하는 경우, 추상 경로명은 시스템에 의존하기 위해(때문에), 일반적으로은 이와 같이 변환되지 않습니다.

반환값:
계층형의 절대 URI. 형식은,"file", 이 추상 경로명을 나타내는 패스, 정의되지 않은 권한, 쿼리, fragment 컴퍼넌트와 동등
예외:
SecurityException - 필수의 시스템 프로퍼티의 값에 액세스 할 수 없는 경우
도입된 버젼:
1.4
관련 항목:
File(java.net.URI) , URI , URI.toURL()

canRead

public boolean canRead()
이 추상 경로명이 가리키는 파일을 어플리케이션을 읽어들일 수 있을지 어떨지를 판정합니다.

반환값:
이 추상 경로명이 가리키는 파일이 존재해, 한층 더 어플리케이션을 그것을 읽어낼 수 있는 경우만 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 파일에의 읽어내 액세스를 허가하지 않을 때

canWrite

public boolean canWrite()
이 추상 경로명이 가리키는 파일을 어플리케이션을 변경할 수 있을지 어떨지를 판정합니다.

반환값:
파일 시스템에 이 추상 경로명이 가리키는 파일이 실제로 있어, 한층 더 어플리케이션이 그 파일에 기입할 수 있는 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일에의 기입해 액세스를 허가하지 않을 때

exists

public boolean exists()
이 추상 경로명이 가리키는 파일 또는 디렉토리가 존재할지 어떨지를 판정합니다.

반환값:
이 추상 경로명이 가리키는 파일 또는 디렉토리가 존재하는 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 파일 또는 디렉토리에의 읽어내 액세스를 허가하지 않을 때

isDirectory

public boolean isDirectory()
이 추상 경로명이 가리키는 파일이 디렉토리일지 어떨지를 판정합니다.

반환값:
이 추상 경로명이 가리키는 파일이 존재해, 한층 더 그것이 디렉토리인 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 파일에의 읽어내 액세스를 허가하지 않을 때

isFile

public boolean isFile()
이 추상 경로명이 가리키는 파일이 보통 파일인가 어떤가를 판정합니다. 파일은, 그것이 디렉토리는 아니고, 시스템에 의존하는 것 외의 기준을 채우는 경우에 「보통」의 파일로 간주해집니다. Java 어플리케이션이 생성한 디렉토리 이외의 파일은, 반드시 보통 파일입니다.

반환값:
이 추상 경로명이 가리키는 파일이 존재해, 한층 더 그것이 보통 파일인 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 파일에의 읽어내 액세스를 허가하지 않을 때

isHidden

public boolean isHidden()
이 추상 경로명이 가리키는 파일이 숨겨진 파일인가 어떤가를 판정합니다. 「은폐」의 정확한 정의는 시스템에 의존합니다. UNIX 시스템의 경우, 파일은 그 이름이 피리어드 ('. ')로 시작되는 경우에 숨겨진 파일로 간주해집니다. Microsoft Windows 시스템의 경우, 파일은 파일 시스템으로 그처럼 마크가 설정되어 있는 경우에 숨겨진 파일로 간주해집니다.

반환값:
이 추상 경로명이 가리키는 파일이 기본이 되는 플랫폼의 규약에 따라 은폐 파일로 간주해지는 경우만 true
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 파일에의 읽어내 액세스를 허가하지 않을 때
도입된 버젼:
1.2

lastModified

public long lastModified()
이 추상 경로명이 가리키는 파일이 마지막에 변경된 시각을 돌려줍니다.

반환값:
파일이 마지막에 변경된 시각을 나타내는 long 치. 신기원 (1970 년 1 월 1 일 0 시 0 분 0 초, 그리니지 표준시)으로부터 밀리 세컨드 단위로 측정. 파일이 존재하지 않는지, 입출력 에러가 발생했을 경우는 0L
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 파일에의 읽어내 액세스를 허가하지 않을 때

length

public long length()
이 추상 경로명으로 지정되고 있는 파일의 길이를 돌려줍니다. 경로명에 디렉토리가 지정되고 있는 경우, 반환값은 지정되지 않습니다.

반환값:
이 추상 경로명이 가리키는 파일의 길이 (바이트 단위). 파일이 존재하지 않는 경우는 0L. 일부의 operating system에서는, 디바이스나 파이프등의 시스템 의존 엔티티를 나타내는 경로명에 대해 0L 를 돌려주는 일이 있다
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 파일에의 읽어내 액세스를 허가하지 않을 때

createNewFile

public boolean createNewFile()
                      throws IOException 
이 추상 경로명이 가리키는 빈 상태(empty)의 새로운 파일을 불가분 (atomic)에 생성합니다 (그 이름의 파일이 아직 존재하지 않는 경우만). 파일이 있을지 어떨지의 체크나, 없는 경우의 파일의 생성은, 그 파일에 영향을 줄 가능성이 있는 것 외의 모든 파일 시스템의 처리에 대해서 불가분인 단일의 조작입니다.  

주:이 메소드를 파일 락을 위해서(때문에) 사용하지 말아 주세요. 결과적으로 얻을 수 있는 프로토콜을 확실히 동작시킬 수가 없습니다. 대신에 FileLock 기능을 사용하는 것을 추천합니다.

반환값:
지정된 파일이 존재하지 않고, 파일의 생성에 성공했을 경우는 true, 나타난 파일이 벌써 존재하는 경우는 false
예외:
IOException - 입출력 에러가 발생했을 경우
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.2

delete

public boolean delete()
이 추상 경로명이 가리키는 파일 또는 디렉토리를 삭제합니다. 이 경로명이 디렉토리를 나타내는 경우, 그 디렉토리가 삭제되기 위해서(때문에)는 빈 상태(empty)일 필요가 있습니다.

반환값:
파일 또는 디렉토리가 정상적으로 삭제되었을 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkDelete(java.lang.String) 메소드가 파일에의 삭제 액세스를 허가하지 않을 때

deleteOnExit

public void deleteOnExit()
이 추상 경로명이 가리키는 파일 또는 디렉토리가, 가상 머신이 종료했을 때에 삭제되도록(듯이) 요구합니다. 이 메소드를 호출해 벌써 삭제를 등록이 끝난 상태인 파일 또는 디렉토리를 삭제해도, 무슨 효과도 없습니다. 삭제는, 「Java 언어 스펙」으로 정의되고 있도록(듯이), 가상 머신이 정상 종료하는 경우에만 시행됩니다.

삭제가 일단 요구되면(자), 그 요구는 취소할 수 없습니다. 그 때문에, 이 메소드의 사용에는 주의가 필요합니다.

주:이 메소드를 파일 락을 위해서(때문에) 사용하지 말아 주세요. 결과적으로 얻을 수 있는 프로토콜을 확실히 동작시킬 수가 없습니다. 대신에 FileLock 기능을 사용하는 것을 추천합니다.

예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkDelete(java.lang.String) 메소드가 파일에의 삭제 액세스를 허가하지 않을 때
도입된 버젼:
1.2
관련 항목:
delete()

list

public String [] list()
이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리를 나타내는 캐릭터 라인의 배열을 돌려줍니다.

이 추상 경로명이 디렉토리를 나타내지 않는 경우, 이 메소드는 null 를 돌려줍니다. 디렉토리를 나타내는 경우는, 캐릭터 라인의 배열이 돌려주어집니다. 캐릭터 라인은, 디렉토리내의 각 파일 또는 디렉토리 마다 1 개(살)입니다. 그 디렉토리 자체 및 그 부모의 디렉토리를 나타내는 이름은 결과에 포함되지 않습니다. 각 캐릭터 라인은, 절대 패스는 아니고 파일명입니다.

결과적으로 얻을 수 있는 배열의 이름 캐릭터 라인은 특정의 순서로는 되지 않습니다. 알파벳순서가 되는 것은 아닙니다.

반환값:
이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리를 나타내는 캐릭터 라인의 배열. 디렉토리가 빈 상태(empty)의 경우, 배열은 비운다. 이 추상 경로명이 디렉토리를 나타내지 않는 경우, 또는 입출력 에러가 발생했을 경우는 null
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 디렉토리에의 읽어내 액세스를 허가하지 않을 때

list

public String [] list(FilenameFilter  filter)
이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리 중(안)에서, 지정된 필터의 기준을 채우는 것의 캐릭터 라인의 배열을 돌려줍니다. 이 메소드의 동작은, 반환되는 배열의 경로명이 필터의 기준을 채우는 것 이외는 list() 메소드와 같습니다. 지정된 filternull 의 경우, 모든 이름이 받아들여집니다. 그렇지 않은 경우, 이름이 필터의 기준을 채우는 것은, 필터의 FilenameFilter.accept(java.io.File, java.lang.String) 메소드가, 이 추상 경로명 및 그것이 가리키는 디렉토리내의 파일 또는 디렉토리의 이름으로 불려 갔을 때에 true 가 반환되는 경우만입니다.

파라미터:
filter - 파일명 필터
반환값:
지정된 filter 에 의해 받아들여진, 이 추상 경로명이 가리키는 디렉토리내의 파일 및 디렉토리를 나타내는 캐릭터 라인의 배열. 배열은, 디렉토리가 빈 상태(empty)의 경우 또는 필터가 어느 이름도 받아들이지 않는 경우는 비운다. 이 추상 경로명이 디렉토리를 나타내지 않는 경우, 또는 입출력 에러가 발생했을 경우는 null
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 디렉토리에의 읽어내 액세스를 허가하지 않을 때

listFiles

public File [] listFiles()
이 추상 경로명이 가리키는 디렉토리내의 파일을 나타내는 추상 경로명의 배열을 돌려줍니다.

이 추상 경로명이 디렉토리를 나타내지 않는 경우, 이 메소드는 null 를 돌려줍니다. 디렉토리를 나타내는 경우,File 객체의 배열이 돌려주어집니다. File 객체는, 디렉토리내의 각 파일 또는 디렉토리 마다 1 개(살)입니다. 디렉토리 자체 및 그 부모의 디렉토리를 나타내는 경로명은 결과에 포함되지 않습니다. 결과적으로 얻을 수 있는 각 추상 경로명은,File(File,  String) 생성자 을 사용하는 것으로써, 이 추상 경로명으로부터 생성됩니다. 그 때문에, 이 경로명이 절대의 경우, 결과적으로 얻을 수 있는 각 경로명은 절대입니다. 이 경로명이 상대의 경우, 결과적으로 얻을 수 있는 각 경로명은 같은 디렉토리에 대해서 상대입니다.

결과적으로 얻을 수 있는 배열의 이름 캐릭터 라인은 특정의 순서로는 되지 않습니다. 알파벳순서가 되는 것은 아닙니다.

반환값:
이 추상 경로명이 가리키는 디렉토리내의 파일 및 디렉토리를 나타내는 추상 경로명의 배열. 배열은, 디렉토리가 빈 상태(empty)의 경우는 비운다. 이 추상 경로명이 디렉토리를 나타내지 않는 경우, 또는 입출력 에러가 발생했을 경우는 null
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 디렉토리에의 읽어내 액세스를 허가하지 않을 때
도입된 버젼:
1.2

listFiles

public File [] listFiles(FilenameFilter  filter)
이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리 중(안)에서, 지정된 필터의 기준을 채우는 것의 추상 경로명의 배열을 돌려줍니다. 이 메소드의 동작은, 반환되는 배열의 경로명이 필터의 기준을 채우는 것 이외는 listFiles() 메소드와 같습니다. 지정된 filternull 의 경우, 모든 경로명이 받아들여집니다. 그렇지 않은 경우, 경로명이 필터의 기준을 채우는 것은, 필터의 FilenameFilter.accept(java.io.File, java.lang.String) 메소드가, 이 추상 경로명 및 그것이 가리키는 디렉토리내의 파일 또는 디렉토리의 이름으로 불려 갔을 때에 true 가 반환되는 경우만입니다.

파라미터:
filter - 파일명 필터
반환값:
이 추상 경로명이 가리키는 디렉토리내의 파일 및 디렉토리를 나타내는 추상 경로명의 배열. 배열은, 디렉토리가 빈 상태(empty)의 경우는 비운다. 이 추상 경로명이 디렉토리를 나타내지 않는 경우, 또는 입출력 에러가 발생했을 경우는 null
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 디렉토리에의 읽어내 액세스를 허가하지 않을 때
도입된 버젼:
1.2

listFiles

public File [] listFiles(FileFilter  filter)
이 추상 경로명이 가리키는 디렉토리에 있는 파일 및 디렉토리 중(안)에서, 지정된 필터의 기준을 채우는 것의 추상 경로명의 배열을 돌려줍니다. 이 메소드의 동작은 listFiles() 메소드와 같습니다만, 반환된 배열내의 경로명은 필터의 기준을 채울 필요가 있습니다. 지정된 filternull 의 경우, 모든 경로명이 받아들여집니다. 그렇지 않은 경우, 경로명이 필터의 기준을 채우는 것은, 이 필터의 FileFilter.accept(java.io.File) 메소드가 경로명으로 불려 갔을 때에 true 의 값이 반환되는 경우만입니다.

파라미터:
filter - 파일 필터
반환값:
이 추상 경로명이 가리키는 디렉토리내의 파일 및 디렉토리를 나타내는 추상 경로명의 배열. 배열은, 디렉토리가 빈 상태(empty)의 경우는 비운다. 이 추상 경로명이 디렉토리를 나타내지 않는 경우, 또는 입출력 에러가 발생했을 경우는 null
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 디렉토리에의 읽어내 액세스를 허가하지 않을 때
도입된 버젼:
1.2

mkdir

public boolean mkdir()
이 추상 경로명이 가리키는 디렉토리를 생성합니다.

반환값:
디렉토리가 생성되었을 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 지정된 디렉토리의 생성을 허가하지 않을 때

mkdirs

public boolean mkdirs()
이 추상 경로명이 가리키는 디렉토리를 생성합니다. 존재하고 있지 않지만 필요한 부모 디렉토리도 함께 작성됩니다. 이 조작이 실패했을 경우에서도, 몇개의 필요한 부모 디렉토리의 생성에는 성공했을 경우가 있습니다.

반환값:
필요한 모든 부모 디렉토리를 포함해 디렉토리가 생성되었을 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkRead(java.lang.String) 메소드가 지정된 디렉토리 및 필요한 모든 부모 디렉토리의 존재 검증을 허가하지 않을 때, 또는 SecurityManager.checkWrite(java.lang.String) 메소드가 지정된 디렉토리 및 필요한 모든 부모 디렉토리의 생성을 허가하지 않을 때

renameTo

public boolean renameTo(File  dest)
이 추상 경로명이 가리키는 파일의 이름을 변경합니다.

이 메소드의 동작이 많은 부분은, 본질적으로 플랫폼 의존입니다. 이름의 변경 조작에서는, 파일을 파일 시스템간에 이동할 수 없는 것이 있습니다. 이 조작은 불가분이 아닌 것이 있습니다. 또, 이동처의 추상 경로명을 가지는 파일이 벌써 존재하는 경우는, 이 조작이 성공하지 않을 가능성이 있습니다. 이름의 변경 조작이 성공한 것을 확인하기 위해서, 항상 반환값을 조사하도록 해 주세요.

파라미터:
dest - 지정된 파일의 새로운 추상 경로명
반환값:
이름의 변경이 성공했을 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 낡은 경로명으로 새로운 경로명의 어느쪽이든에의 기입 액세스를 허가하지 않을 때
NullPointerException - 파라미터 destnull 의 경우

setLastModified

public boolean setLastModified(long time)
이 추상 경로명이 가리키는 파일 또는 디렉토리가 변경된 시각을 설정합니다.

모든 플랫폼은, 초단위에 말 수 있었던 파일 변경 시각을 지원합니다만, 안에는 좀 더 높은 정밀도를 지원하는 것도 있습니다. 인수는, 지원되고 있는 정밀도에 맞추어 절약할 수 있습니다. 조작이 성공해, 끼어드는 조작이 파일상에서 발생하지 않는 경우,lastModified() 메소드의 다음의 호출은 이 메소드에게 건네진 time 인수 (절약할 수 있었을 경우가 있다)를 돌려줍니다.

파라미터:
time - 최신으로 변경된 시각. 신기원 (1970 년 1 월 1 일 0 시 0 분 0 초, 그리니지 표준시)으로부터 밀리 세컨드 단위로 측정
반환값:
조작이 성공했을 경우는 true, 그렇지 않은 경우는 false
예외:
IllegalArgumentException - 인수가 0 보다 작은 값의 경우
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 지정된 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.2

setReadOnly

public boolean setReadOnly()
이 추상 경로명이 가리키는 파일 또는 디렉토리에 마크를 설정해, 읽기 조작만이 허가되도록(듯이) 합니다. 이 메소드를 호출하면(자), 파일 또는 디렉토리는 그것이 삭제되는지, 기입 액세스를 허가하도록(듯이) 마크를 설정할 때까지 변경되지 않습니다. 읽기 전용 파일 또는 디렉토리를 삭제할 수 있을지 어떨지는, 기본이 되는 시스템에 의존합니다.

반환값:
조작이 성공했을 경우는 true, 그렇지 않은 경우는 false
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 지정된 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.2

setWritable

public boolean setWritable(boolean writable,
                           boolean ownerOnly)
이 추상 경로명에 소유자 또는 전원의 쓰기 권한을 설정합니다.

파라미터:
writable - true 의 경우는, 기입 조작을 허가하도록(듯이) 액세스권을 설정해,false 의 경우는, 기입 조작을 허가하지 않게 설정하는
ownerOnly - true 의 경우, 쓰기 권한은 소유자의 쓰기 권한인 만큼 적용되어 그렇지 않은 경우는, 전원에게 적용된다. 기본이 되는 파일 시스템으로 소유자와 그 이외의 쓰기 권한을 구별할 수 없는 경우는, 이 값에 관계없이, 액세스권은 전원에게 적용된다
반환값:
조작이 성공했을 경우는 true. 사용자가 이 추상 경로명의 액세스권을 변경하는 액세스권을 가지지 않는 경우, 조작은 실패한다
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 지정된 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.6

setWritable

public boolean setWritable(boolean writable)
이 추상 경로명에 소유자의 쓰기 권한을 설정하는 편리한 메소드입니다.

이 메소드를 file.setWritable(arg) 의 형식에서 호출했을 경우, 다음의 호출과 같은 결과를 얻을 수 있습니다.

file.setWritable(arg, true) 

파라미터:
writable - true 의 경우는, 기입 조작을 허가하도록(듯이) 액세스권을 설정해,false 의 경우는, 기입 조작을 허가하지 않게 설정한다
반환값:
조작이 성공했을 경우는 true. 사용자가 이 추상 경로명의 액세스권을 변경하는 액세스권을 가지지 않는 경우, 조작은 실패한다
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.6

setReadable

public boolean setReadable(boolean readable,
                           boolean ownerOnly)
이 추상 경로명에 소유자 또는 전원의 읽기 권한을 설정합니다.

파라미터:
readable - true 의 경우는, 읽기 조작을 허가하도록(듯이) 액세스권을 설정해,false 의 경우는, 읽기 조작을 허가하지 않는
ownerOnly - true 의 경우, 읽기 권한은 소유자의 읽기 권한인 만큼 적용되어 그렇지 않은 경우는, 전원에게 적용된다. 기본이 되는 파일 시스템으로 소유자와 그 이외의 읽기 권한을 구별할 수 없는 경우, 이 값에 관계없이, 액세스권은 전원에게 적용된다
반환값:
조작이 성공했을 경우는 true. 사용자가 이 추상 경로명의 액세스권을 변경하는 액세스권을 가지지 않는 경우, 조작은 실패하는readablefalse 로, 기본이 되는 파일 시스템이 읽어내 권을 구현하고 있지 않는 경우, 조작은 실패한다
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.6

setReadable

public boolean setReadable(boolean readable)
이 추상 경로명에 소유자의 읽기 권한을 설정하는 편리한 메소드입니다.

이 메소드를 file.setReadable(arg) 의 형식에서 호출했을 경우, 다음의 호출과 같은 결과를 얻을 수 있습니다.

file.setReadable(arg, true) 

파라미터:
readable - true 의 경우는, 읽기 조작을 허가하도록(듯이) 액세스권을 설정해,false 의 경우는, 읽기 조작을 허가하지 않는다
반환값:
조작이 성공했을 경우는 true. 사용자가 이 추상 경로명의 액세스권을 변경하는 액세스권을 가지지 않는 경우, 조작은 실패하는readablefalse 로, 기본이 되는 파일 시스템이 읽어내 권을 구현하고 있지 않는 경우, 조작은 실패한다
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.6

setExecutable

public boolean setExecutable(boolean executable,
                             boolean ownerOnly)
이 추상 경로명에 소유자 또는 전원의 실행 권한을 설정합니다.

파라미터:
executable - true 의 경우는, 실행 조작을 허가하도록(듯이) 액세스권을 설정해,false 의 경우는, 실행 조작을 허가하지 않는
ownerOnly - true 의 경우, 실행 권한은 소유자의 실행 권한인 만큼 적용되어 그렇지 않은 경우는, 전원에게 적용된다. 기본이 되는 파일 시스템으로 소유자와 그 이외의 실행 권한을 구별할 수 없는 경우는, 이 값에 관계없이, 액세스권은 전원에게 적용된다
반환값:
조작이 성공했을 경우는 true. 사용자가 이 추상 경로명의 액세스권을 변경하는 액세스권을 가지지 않는 경우, 조작은 실패하는executablefalse 로, 기본이 되는 파일 시스템이 실행 권한을 구현하고 있지 않는 경우, 조작은 실패한다
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.6

setExecutable

public boolean setExecutable(boolean executable)
이 추상 경로명에 소유자의 실행 권한을 설정하는 편리한 메소드입니다.

이 메소드를 file.setExcutable(arg) 의 형식에서 호출했을 경우, 다음의 호출과 같은 결과를 얻을 수 있습니다.

file.setExecutable(arg, true) 

파라미터:
executable - true 의 경우는, 실행 조작을 허가하도록(듯이) 액세스권을 설정해,false 의 경우는, 실행 조작을 허가하지 않는다
반환값:
조작이 성공했을 경우는 true. 사용자가 이 추상 경로명의 액세스권을 변경하는 액세스권을 가지지 않는 경우, 조작은 실패하는executablefalse 로, 기본이 되는 파일 시스템이 실행 권한을 구현하고 있지 않는 경우, 조작은 실패한다
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일에의 기입해 액세스를 허가하지 않을 때
도입된 버젼:
1.6

canExecute

public boolean canExecute()
이 추상 경로명이 가리키는 파일을 어플리케이션을 실행할 수 있을지 어떨지를 판정합니다.

반환값:
이 추상 경로명이 존재해, 한층 더 어플리케이션이 그 파일을 실행할 수 있는 경우는 true
예외:
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkExec(java.lang.String) 메소드가 파일에의 실행 액세스를 허가하지 않을 때
도입된 버젼:
1.6

listRoots

public static File [] listRoots()
유효한 파일 시스템의 루트를 리스트 표시합니다.

특정의 Java 플랫폼은, 제로 또는 1 개(살) 이상의 계층적으로 편성된 파일 시스템을 지원합니다. 각 파일 시스템에는, 그 파일 시스템외의 모든 파일에 도달할 수 있는 root 디렉토리가 있습니다. 예를 들어 Windows 플랫폼에는, 액티브한 드라이브 마다 루트 디렉토리가 있습니다. UNIX 플랫폼의 루트 디렉토리는,"/" 의 1 개(살) 뿐입니다. 일련의 유효한 파일 시스템의 루트는, 원격 미디어의 삽입과 꺼내, 및 물리 디스크 드라이버 또는 가상 디스크 드라이버의 절단 또는 언마운트등의, 다양한 시스템 레벨의 조작에 영향을 받습니다.

이 메소드는, 유효한 파일 시스템의 루트의 루트 디렉토리를 나타내는 File 객체의 배열을 돌려줍니다. 로컬 머신에 물리적으로 존재하는 파일의 정규의 경로명은, 반드시 이 메소드로 반환되는 루트로부터 시작됩니다.

다른 머신에 존재해, 원격 파일 시스템 프로토콜 (SMB 또는 NFS 등)을 개입시켜 액세스 할 수 있는 파일의 정규의 경로명은, 이 메소드로 반환된 루트로부터 시작되어도, 시작되지 않아도 괜찮습니다. 원격 파일의 경로명이 로컬 파일의 경로명과 구문상 구별할 수 없는 경우, 그것은 이 메소드로 반환된 루트로부터 시작됩니다. 이 때문에, 예를 들어 Windows 플랫폼의 매핑 된 네트워크 드라이브의 루트 디렉토리를 나타내는 File 객체는 이 메소드로 돌려주어집니다만, UNC 경로명을 포함한 File 객체는 이 메소드로 돌려주어지지 않습니다.

이 클래스의 대부분의 메소드와 달라, 이 메소드는 시큐리티 예외를 throw 하지 않습니다. 시큐리티 매니저가 존재해,SecurityManager.checkRead(java.lang.String) 메소드가 특정의 루트 디렉토리에의 읽어내 액세스를 거부하는 경우, 그 디렉토리는 결과에 나타나지 않습니다.

반환값:
유효한 파일 시스템의 루트를 나타내는 File 객체의 배열. 일련의 루트를 판별할 수 없는 경우는 null. 배열은, 파일 시스템의 루트가 없는 경우는 비우는
도입된 버젼:
1.2

getTotalSpace

public long getTotalSpace()
이 추상 경로명으로지정되는 파티션의 사이즈를 돌려줍니다.

반환값:
파티션의 사이즈 (바이트 단위). 이 추상 경로명이 파티션을 지정하지 않는 경우는 0L
예외:
SecurityException - 시큐리티 매니저가 인스톨 되고 있는 경우에,RuntimePermission ("getFileSystemAttributes") 를 허가하지 않을 때, 또는 SecurityManager.checkRead(String) 메소드가 이 추상 경로명으로 지정되는 파일에의 읽어내 액세스를 허가하지 않을 때
도입된 버젼:
1.6

getFreeSpace

public long getFreeSpace()
이 추상 경로명으로지정되는 파티션내에서 할당되지 않은 바이트수를 돌려줍니다.

반환되는 할당되지 않은 바이트수는, 1 개의 실마리이며, 보증을 나타내는 것이 아닙니다. 이러한 바이트의 거의 또는 일부를 사용할 수 있을 가능성을 나타내고 있습니다. 할당되지 않은 바이트수는, 이 호출의 직후는 정확한 가능성이 가장 높고, 외부의 입출력 조작 (이 가상 머신의 외부의 시스템으로 행해지는 입출력 조작을 포함한다)에 의해 부정확하게 됩니다. 이 메소드에 의해, 이 파일 시스템에의 기입해 조작이 성공하는 보증은 없습니다.

반환값:
파티션으로 할당되지 않은 바이트수. 추상 경로명이 파티션을 지정하지 않는 경우는 0L. 이 값은,getTotalSpace() 로 반환되는 파일 시스템의 합계 사이즈 이하
예외:
SecurityException - 시큐리티 매니저가 인스톨 되고 있는 경우에,RuntimePermission ("getFileSystemAttributes") 를 허가하지 않을 때, 또는 SecurityManager.checkRead(String) 메소드가 이 추상 경로명으로 지정되는 파일에의 읽어내 액세스를 허가하지 않을 때
도입된 버젼:
1.6

getUsableSpace

public long getUsableSpace()
이 추상 경로명으로지정되는 파티션상에서, 이 가상 머신을 이용할 수 있는 바이트수를 돌려줍니다. 가능하면, 이 메소드는 기입해 권이나 그 외의 operating system 제약을 확인합니다. 그 때문에, 실제로 기입할 수가 있는 새로운 데이터량에 대해, 일반적으로은 getFreeSpace() 를 실행했을 경우보다 정확한 추정량을 돌려줍니다.

반환되는 이용 가능한 바이트수는, 확실한 것은 아니고 단순한 실마리이며, 이러한 바이트의 거의 또는 일부를 사용할 수 있습니다. 할당되지 않은 바이트수는, 이 호출의 직후는 정확한 가능성이 가장 높고, 외부의 입출력 조작 (이 가상 머신의 외부의 시스템으로 행해지는 입출력 조작을 포함한다)에 의해 부정확하게 됩니다. 이 메소드에 의해, 이 파일 시스템에의 기입해 조작이 성공하는 보증은 없습니다.

반환값:
파티션으로 이용할 수 있는 바이트수. 추상 경로명이 파티션을 지정하지 않는 경우는 0L. 이 정보를 이용할 수 없는 시스템의 경우, 이 메소드는,getFreeSpace() 를 호출하는 것과 같다
예외:
SecurityException - 시큐리티 매니저가 인스톨 되고 있는 경우에,RuntimePermission ("getFileSystemAttributes") 를 허가하지 않을 때, 또는 SecurityManager.checkRead(String) 메소드가 이 추상 경로명으로 지정되는 파일에의 읽어내 액세스를 허가하지 않을 때
도입된 버젼:
1.6

createTempFile

public static File  createTempFile(String  prefix,
                                  String  suffix,
                                  File  directory)
                           throws IOException 

지정된 디렉토리에서 새로운 빈 상태(empty)의 파일을 생성해, 그 이름에는, 지정된 접두사 및 접미사(suffix)의 캐릭터 라인이 사용됩니다. 이 메소드가 정상적으로 복귀하는 경우, 다음 일이 보증됩니다.

  1. 반환된 추상 경로명이 가리키는 파일이 존재하는 것은, 이 메소드가 불려 간 후에 있다
  2. 이 메소드 또는 그 파생 메소드의 어느 것도 가상 머신의 현재의 호출로 다시 같은 추상 경로명을 돌려주지 않는다
이 메소드는 일부의 임시 파일 기능만을 제공합니다. 이 메소드로 생성된 파일이 자동적으로 삭제되도록(듯이) 하려면 ,deleteOnExit() 메소드를 사용합니다.

prefix 인수의 길이는 3 문자 이상 필요합니다. 접두사는,"hjb" 또는 "mail" 등이 짧아서 의미가 있는 캐릭터 라인으로 해 주세요. suffix 인수는 null 도 지정할 수 있어 그 경우, 접미사(suffix) ". tmp" 가 사용됩니다.

새로운 파일을 생성하기 위해서, 우선 접두사 및 접미사(suffix)이 기본이 되는 플랫폼의 제한에 맞추어 조정됩니다. 접두사가 너무 긴 경우는, 절약할 수 있습니다만, 최초의 3 문자는 항상 보존됩니다. 접미사(suffix)이 너무 긴 경우는, 절약할 수 있습니다만, 그것이 피리어드 ('. ')로 시작되는 경우, 피리어드 및 그 후의 최초의 3 문자는 항상 보존됩니다. 이러한 조정이 끝나면(자), 접두사, 5 개(살) 이상의 내부에서 생성된 문자, 및 접미사(suffix)을 연결해 새로운 파일명이 생성됩니다.

directory 인수가 null 의 경우, 시스템에 의존하는 디폴트의 임시 파일 디렉토리가 사용됩니다. 디폴트의 임시 파일 디렉토리는, 시스템 프로퍼티 java.io.tmpdir 로 지정됩니다. UNIX 시스템의 경우, 이 프로퍼티의 디폴트의 값은 일반적으로 "/tmp" 또는 "/var/tmp" 입니다. Microsoft Windows 시스템의 경우는, 일반적으로,"C:\\WINNT\\TEMP" 입니다. 다만, Java 가상 머신을 기동했을 때에, 이 시스템 프로퍼티에 다른 값이 지정되는 일이 있습니다. 프로그램을 사용해 이 프로퍼티을 변경해도, 이 메소드가 사용하는 일시 디렉토리를 변경할 수 있다고는 할 수 없습니다.

파라미터:
prefix - 파일명을 생성하기 위해서 사용되는 접두사 캐릭터 라인. 3 문자 이상의 길이가 필요한
suffix - 파일명을 생성하기 위해서 사용되는 접미사(suffix)캐릭터 라인. null 도 지정할 수 있어 그 경우는, 접미사(suffix) ". tmp" 가 사용되는
directory - 파일이 생성되는 디렉토리. 디폴트의 임시 파일 디렉토리가 사용되는 경우는 null
반환값:
신규 작성된 빈 상태(empty)의 파일을 나타내는 추상 경로명
예외:
IllegalArgumentException - prefix 인수가 3 문자에 못 미친 경우
IOException - 파일을 생성할 수 없었던 경우
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일의 생성을 허가하지 않을 때
도입된 버젼:
1.2

createTempFile

public static File  createTempFile(String  prefix,
                                  String  suffix)
                           throws IOException 
지정된 접두사와 접미사(suffix)을 파일명의 생성에 사용해, 디폴트의 임시 파일 디렉토리에 빈 상태(empty)의 파일을 생성합니다. 이 메소드를 호출하는 것은,createTempFile(prefix,  suffix,  null) 를 호출하는 것과 같습니다.

파라미터:
prefix - 파일명을 생성하기 위해서 사용되는 접두사 캐릭터 라인. 3 문자 이상의 길이가 필요한
suffix - 파일명을 생성하기 위해서 사용되는 접미사(suffix)캐릭터 라인. null 도 지정할 수 있어 그 경우는, 접미사(suffix) ". tmp" 가 사용된다
반환값:
신규 작성된 빈 상태(empty)의 파일을 나타내는 추상 경로명
예외:
IllegalArgumentException - prefix 인수가 3 문자에 못 미친 경우
IOException - 파일을 생성할 수 없었던 경우
SecurityException - 시큐리티 매니저가 존재하는 경우에, 시큐리티 매니저의 SecurityManager.checkWrite(java.lang.String) 메소드가 파일의 생성을 허가하지 않을 때
도입된 버젼:
1.2

compareTo

public int compareTo(File  pathname)
2 개의 추상 경로명을 어휘적으로 비교합니다. 이 메소드가 정의하는 순서는 기본이 되는 시스템에 의존합니다. UNIX 시스템의 경우, 경로명의 비교로 알파벳의 대문자와 소문자가 의미를 가집니다. Microsoft Windows 시스템의 경우는 의미를 가지지 않습니다.

정의:
인터페이스 Comparable <File > 내의 compareTo
파라미터:
pathname - 이 추상 경로명으로 비교되는 추상 경로명
반환값:
인수가 이 추상 경로명으로 동일한 경우는 0. 이 추상 경로명이 인수보다 어휘적으로 작은 경우는 0 보다 작은 값. 이 추상 경로명이 인수보다 어휘적으로 큰 경우는 정의 값
도입된 버젼:
1.2

equals

public boolean equals(Object  obj)
이 추상 경로명이 지정된 객체와 동일한지 어떤지를 판정합니다. 인수가 null 는 아니고, 이 추상 경로명과 같은 파일 또는 디렉토리를 나타내는 추상 경로명인 경우에만 true 를 돌려줍니다. 2 개의 추상 경로명이 동일한지 어떤지는 기본이 되는 시스템에 의존합니다. UNIX 시스템의 경우, 알파벳의 대문자와 소문자가 경로명의 비교로 의미를 가집니다. Microsoft Windows 시스템에서는 의미를 가지지 않습니다.

오버라이드(override):
클래스 Object 내의 equals
파라미터:
obj - 이 추상 경로명으로 비교되는 객체
반환값:
2 개의 객체가 같은 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Object.hashCode() , Hashtable

hashCode

public int hashCode()
이 추상 경로명의 해시 코드를 계산합니다. 추상 경로명이 동일한지 어떤지는 본질적으로 시스템에 의존하므로, 그러한 해시 코드의 계산도 같습니다. UNIX 시스템의 경우, 추상 경로명의 해시 코드는, 그 경로명 스트링의 해시 코드와 10 진수값 1234321 의 배타적 논리합과 동일해집니다. Microsoft Windows 시스템의 경우, 해시 코드는, 그 경로명 스트링 (소문자에 변환된 것)의 해시 코드와 10 진수값 1234321 의 배타적 논리합과 동일해집니다. 경로명 스트링을 소문자로 변환할 때, 로케일은 고려되지 않습니다.

오버라이드(override):
클래스 Object 내의 hashCode
반환값:
이 추상 경로명의 해시 코드
관련 항목:
Object.equals(java.lang.Object) , Hashtable

toString

public String  toString()
이 추상 경로명의 경로명 스트링을 돌려줍니다. 이것은,getPath() 메소드로 반환된 캐릭터 라인입니다.

오버라이드(override):
클래스 Object 내의 toString
반환값:
이 추상 경로명의 캐릭터 라인 형식

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.