- すべての実装されたインタフェース:
Serializable
,Comparable<File>
ユーザー・インタフェースおよびオペレーティング・システムは、システムに依存するパス名文字列でファイルおよびディレクトリを指定します。 このクラスは、階層的なパス名の抽象的でシステムに依存しないビューを提供します。 抽象パス名は2つのコンポーネントで構成されます。
- システムに依存する任意指定の接頭辞文字列。ディスク・ドライブ指示子、UNIXルート・ディレクトリの
"/"
、Microsoft Windows UNCパス名の"\\\"
など - ゼロ以上の文字列名前のシーケンス。
パス名文字列と抽象パス名の間の変換は、本質的にシステムに依存します。 抽象パス名がパス名文字列に変換されると、各名前は1つのデフォルトの区切り文字で区切られます。 デフォルトの名前区切り文字は、システム・プロパティfile.separator
によって定義され、このクラスのpublic staticフィールドseparator
およびseparatorChar
で使用可能になります。 パス名文字列が抽象パス名に変換されると、その中の名前はデフォルトの名前区切り文字で区切られるか、ベースとなるシステムがサポートするほかの名前区切り文字で区切られます。
パス名(抽象形式または文字列形式のどちらでも)は、絶対または相対のどちらかです。 絶対パス名は完全であり、それが示すファイルを見つけるためにほかの情報を必要としません。 一方、相対パス名は、ほかのパス名からの情報を利用して解釈される必要があります。 デフォルトでは、java.io
パッケージのクラスは、常に現在のユーザー・ディレクトリを基準に相対パス名を解決します。 このディレクトリはシステム・プロパティuser.dir
で指定され、通常はJava仮想マシンの呼出し元のディレクトリです。
抽象パス名の親は、このクラスのgetParent()
メソッドを呼び出すことで取得でき、パス名の接頭辞(存在する場合)およびパス名の名前シーケンスの各名前(最後の名前を除く)で構成されます。 各ディレクトリの絶対パス名は、絶対抽象パス名がそのディレクトリの絶対パス名で始まるすべてのFile
オブジェクトの上位にあります。 たとえば、抽象パス名「/usr
」が示すディレクトリは、「/usr/local/bin
」というパス名で示されるディレクトリの上位にあります。
接頭辞の概念は、次のように、UNIXプラットフォームのルート・ディレクトリ、およびMicrosoft Windowsプラットフォームのドライブ指示子、ルート・ディレクトリ、およびUNCパス名を扱うために使用されます。
- UNIXプラットフォームの場合、絶対パス名の接頭辞は常に
"/"
です。 相対パス名は接頭辞を持ちません。 ルート・ディレクトリを示す抽象パス名は、接頭辞"/"
と空の名前シーケンスを持ちます。 - Microsoft Windowsプラットフォームの場合、ドライブ指示子を含むパス名の接頭辞は、パス名が絶対の場合はドライブ名、
":"
(その後に"\"
が続く場合がある)で構成されます。 UNCパス名の接頭辞は"\\\"
です。ホスト名および共有名は名前シーケンス内の最初の2つの名前です。 ドライブを指定しない相対パス名は接頭辞を持ちません。
このクラスのインスタンスは、実際のファイル・システム・オブジェクト(ファイルやディレクトリなど)を示す場合も、示さない場合もあります。 このようなオブジェクトを示す場合、そのオブジェクトはパーティション内に存在します。 パーティションとは、ファイル・システム用の記憶域でオペレーティング・システム固有の部分です。 1つの記憶装置(物理ディスク・ドライブ、フラッシュ・メモリー、CD-ROMなど)に、複数のパーティションが含まれることがあります。 オブジェクトが存在する場合は、このパス名の絶対形式の上位にあるものによって指定されるパーティションに存在します。
ファイル・システムでは、実際のファイル・システム・オブジェクトに対する特定の操作(読み取り、書き込み、実行など)への制約を実装することができます。 これらの制約を総称してアクセス権と呼びます。 ファイル・システムには、1つのオブジェクトに対して複数の組のアクセス権が設定されていることがあります。 たとえば、ある組をオブジェクトの所有者に適用し、別の組をほかのすべてのユーザーに適用することができます。 オブジェクトのアクセス権が原因で、このクラスの一部のメソッドが失敗することがあります。
File
クラスのインスタンスは不変です。つまり、一度作成されると、File
オブジェクトで表される抽象パス名は変更されません。
java.nio.file
パッケージとの相互運用性
java.nio.file
パッケージは、ファイル、ファイル属性、およびファイル・システムにアクセスするためのJava仮想マシン用のインタフェースとクラスを定義します。 このAPIは、java.io.File
クラスの多くの制限を克服するために使用できます。 File
オブジェクトによって表される抽象パスを使用してファイルを見つけるPath
を取得するには、toPath
メソッドを使用します。 取得されたPath
は、その後のファイル操作、ファイル属性、および入出力例外に対してより効率的で広範なアクセスを提供し、ファイルに対する操作が失敗したときにエラーを診断するために、Files
クラスで使用できます。
- 導入されたバージョン:
- 1.0
- 関連項目:
- 直列化された形式
-
フィールドのサマリー
フィールド -
コンストラクタのサマリー
コンストラクタ -
メソッドのサマリー
修飾子と型メソッド説明boolean
この抽象パス名が示すファイルをアプリケーションが実行できるかどうかを判定します。boolean
canRead()
この抽象パス名が示すファイルをアプリケーションが読み込めるかどうかを判定します。boolean
canWrite()
この抽象パス名が示すファイルをアプリケーションが変更できるかどうかを判定します。int
2つの抽象パス名を語彙的に比較します。boolean
この抽象パス名が示す空の新しいファイルを不可分(atomic)に生成します(その名前のファイルがまだ存在しない場合だけ)。static File
createTempFile(String prefix, String suffix)
指定された接頭辞と接尾辞をファイル名の生成に使用して、デフォルトの一時ファイル・ディレクトリに空のファイルを生成します。static File
createTempFile(String prefix, String suffix, File directory)
指定されたディレクトリで新しい空のファイルを生成し、その名前には、指定された接頭辞および接尾辞の文字列が使用されます。boolean
delete()
この抽象パス名が示すファイルまたはディレクトリを削除します。void
この抽象パス名が示すファイルまたはディレクトリが、仮想マシンが終了したときに削除されるように要求します。boolean
この抽象パス名が指定されたオブジェクトと等しいかどうかを判定します。boolean
exists()
この抽象パス名が示すファイルまたはディレクトリが存在するかどうかを判定します。この抽象パス名の絶対形式を返します。この抽象パス名の絶対パス名文字列を返します。この抽象パス名の正規の形式を返します。この抽象パス名の正規のパス名文字列を返します。long
この抽象パス名で指定されるパーティション内で未割当てのバイト数を返します。getName()
この抽象パス名が示すファイルまたはディレクトリの名前を返します。この抽象パス名の親のパス名文字列を返します。このパス名が親ディレクトリを示さない場合はnull
を返します。この抽象パス名の親の抽象パス名を返します。このパス名が親ディレクトリを示さない場合はnull
を返します。getPath()
この抽象パス名をパス名文字列に変換します。long
この抽象パス名で指定されるパーティションのサイズを返します。long
この抽象パス名で指定されるパーティション上で、この仮想マシンが利用できるバイト数を返します。int
hashCode()
この抽象パス名のハッシュ・コードを計算します。boolean
この抽象パス名が絶対かどうかを判定します。boolean
この抽象パス名が示すファイルがディレクトリであるかどうかを判定します。boolean
isFile()
この抽象パス名が示すファイルが普通のファイルかどうかを判定します。boolean
isHidden()
この抽象パス名が示すファイルが隠しファイルかどうかを判定します。long
この抽象パス名が示すファイルが最後に変更された時間を返します。long
length()
この抽象パス名に指定されているファイルの長さを返します。String[]
list()
この抽象パス名が示すディレクトリにあるファイルおよびディレクトリを示す文字列の配列を返します。String[]
list(FilenameFilter filter)
この抽象パス名が示すディレクトリにあるファイルおよびディレクトリの中で、指定されたフィルタの基準を満たすものの文字列の配列を返します。File[]
この抽象パス名が示すディレクトリ内のファイルを示す抽象パス名の配列を返します。File[]
listFiles(FileFilter filter)
この抽象パス名が示すディレクトリにあるファイルおよびディレクトリの中で、指定されたフィルタの基準を満たすものの抽象パス名の配列を返します。File[]
listFiles(FilenameFilter filter)
この抽象パス名が示すディレクトリにあるファイルおよびディレクトリの中で、指定されたフィルタの基準を満たすものの抽象パス名の配列を返します。static File[]
有効なファイル・システムのルートをリスト表示します。boolean
mkdir()
この抽象パス名が示すディレクトリを生成します。boolean
mkdirs()
この抽象パス名が示すディレクトリを生成します。存在していないが必要な親ディレクトリも一緒に作成されます。boolean
この抽象パス名が示すファイルの名前を変更します。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
この抽象パス名が示すファイルまたはディレクトリにマークを設定し、読込みオペレーションだけが許可されるようにします。boolean
setWritable(boolean writable)
この抽象パス名に所有者の書込み権を設定する簡易メソッドです。boolean
setWritable(boolean writable, boolean ownerOnly)
この抽象パス名に所有者または全員の書込み権を設定します。toPath()
この抽象パスから構築されたjava.nio.file.Path
オブジェクトを返します。toString()
この抽象パス名のパス名文字列を返します。toURI()
この抽象パス名を表すfile:
URIを構築します。toURL()
非推奨。このメソッドでは、URL内で使用できないエスケープ文字は自動的に変換できません。
-
フィールド詳細
-
separatorChar
public static final char separatorCharシステムに依存するデフォルトの名前区切り文字です。 このフィールドは、システム・プロパティfile.separator
の値の最初の文字を格納するように初期化されます。 UNIXシステムの場合、このフィールドの値は'/'
、Microsoft Windowsシステムの場合は'\\'
です。 -
separator
public static final String separatorシステムに依存するデフォルトの名前区切り文字です。利便性のため文字列で表されます。 この文字列には、単一の文字、つまりseparatorChar
が含まれています。 -
pathSeparatorChar
public static final char pathSeparatorCharシステムに依存するパス区切り文字です。 このフィールドは、システム・プロパティpath.separator
の値の最初の文字を格納するように初期化されます。 この文字は、パス・リストとして渡されるファイルのシーケンス中のファイル名を区切るために使用されます。 UNIXシステムの場合、この区切り文字は':'
です。Microsoft Windowsシステムでは';'
です。 -
pathSeparator
public static final String pathSeparatorシステムに依存するパス区切り文字です。利便性のため文字列で表されます。 この文字列には、単一の文字、つまりpathSeparatorChar
が含まれています。
-
-
コンストラクタの詳細
-
File
public File(String pathname)指定されたパス名文字列を抽象パス名に変換して、新しいFile
のインスタンスを生成します。 指定された文字列が空の文字列の場合、結果は空の抽象パス名になります。- パラメータ:
pathname
- パス名文字列- 例外:
NullPointerException
-pathname
引数がnull
である場合
-
File
親パス名文字列および子パス名文字列から新しいFile
のインスタンスを生成します。parent
がnull
の場合、新しいFile
のインスタンスは、指定されたchild
パス名文字列で単一引数のFile
コンストラクタを呼び出したように生成されます。そうでない場合、
parent
パス名文字列はディレクトリを示し、child
パス名文字列はディレクトリまたはファイルを示します。child
パス名文字列が絶対の場合、それはシステムに依存する方法で相対パス名に変換されます。parent
が空の文字列の場合、新しいFile
のインスタンスは、child
を抽象パス名に変換し、その結果をシステムに依存するデフォルト・ディレクトリを基準に解決することで生成されます。 そうでない場合、各パス名文字列は抽象パス名に変換され、子抽象パス名は親を基準に解決されます。- パラメータ:
parent
- 親パス名文字列child
- 子パス名文字列- 例外:
NullPointerException
-child
がnull
である場合
-
File
親抽象パス名および子パス名文字列から新しいFile
のインスタンスを生成します。parent
がnull
の場合、新しいFile
のインスタンスは、指定されたchild
パス名文字列で単一引数のFile
コンストラクタを呼び出したように生成されます。そうでない場合、
parent
抽象パス名はディレクトリを示し、child
パス名文字列はディレクトリまたはファイルを示します。child
パス名文字列が絶対の場合、それはシステムに依存する方法で相対パス名に変換されます。parent
が空の抽象パス名の場合、新しいFile
のインスタンスは、child
を抽象パス名に変換し、その結果をシステムに依存するデフォルト・ディレクトリを基準に解決することで生成されます。 そうでない場合、各パス名文字列は抽象パス名に変換され、子抽象パス名は親を基準に解決されます。- パラメータ:
parent
- 親抽象パス名child
- 子パス名文字列- 例外:
NullPointerException
-child
がnull
である場合
-
File
public File(URI uri)指定されたfile:
URIを抽象パス名に変換して、新しいFile
のインスタンスを生成します。file:
URIの形式はシステムに依存するため、このコンストラクタが行う変換もシステムに依存します。指定された抽象パス名がfの場合は、次のように変換されます。
この例の場合、元の抽象パス名、URI、および新しい抽象パス名は、同じJava仮想マシンの複数の呼出しで作成する必要があります。 ただし、あるオペレーティング・システムの仮想マシンで作成したnew File(
f.
ftoURI
()).equals(.
getAbsoluteFile
())file:
URIを別のオペレーティング・システムの仮想マシンの抽象パス名に変換する場合、通常はこのように変換されません。- パラメータ:
uri
- 階層型の絶対URI。形式は、"file"
、空でないパス・コンポーネント、未定義の権限、クエリー、フラグメント・コンポーネントと同等- 例外:
NullPointerException
-uri
がnull
の場合IllegalArgumentException
- 上記のパラメータの前提条件が満たされていない場合- 導入されたバージョン:
- 1.4
- 関連項目:
toURI()
、URI
-
-
メソッドの詳細
-
getName
public String getName()この抽象パス名が示すファイルまたはディレクトリの名前を返します。 これは、パス名の名前シーケンスの最後の名前です。 パス名の名前シーケンスが空の場合、空の文字列が返されます。- 戻り値:
- この抽象パス名が示すファイルまたはディレクトリの名前。このパス名の名前シーケンスが空の場合は空の文字列
-
getParent
public String getParent()この抽象パス名の親のパス名文字列を返します。このパス名が親ディレクトリを示さない場合はnull
を返します。抽象パス名の親は、パス名の接頭辞(存在する場合)およびパス名の名前シーケンスの各名前(最後の名前を除く)で構成されます。 名前シーケンスが空の場合、パス名は親ディレクトリを示しません。
- 戻り値:
- この抽象パス名が示す親ディレクトリのパス名文字列。このパス名が親を示さない場合は
null
-
getParentFile
public File getParentFile()この抽象パス名の親の抽象パス名を返します。このパス名が親ディレクトリを示さない場合はnull
を返します。抽象パス名の親は、パス名の接頭辞(存在する場合)およびパス名の名前シーケンスの各名前(最後の名前を除く)で構成されます。 名前シーケンスが空の場合、パス名は親ディレクトリを示しません。
- 戻り値:
- この抽象パス名が示す親ディレクトリの抽象パス名。このパス名が親を示さない場合は
null
- 導入されたバージョン:
- 1.2
-
getPath
public String getPath()この抽象パス名をパス名文字列に変換します。 結果の文字列は、default name-separator character
を使用して、名前シーケンスの名前を区切ります。- 戻り値:
- この抽象パス名の文字列形式
-
isAbsolute
public boolean isAbsolute()この抽象パス名が絶対かどうかを判定します。 絶対パス名の定義はシステムに依存します。 UNIXシステムで接頭辞が"/"
の場合、パス名は絶対です。 Microsoft Windowsシステムでは、接頭辞がドライブ指示子のあとに"\"
が続く場合、または接頭辞が"\\\"
の場合、パス名は絶対です。- 戻り値:
- この抽象パス名が絶対である場合は
true
、そうでない場合はfalse
-
getAbsolutePath
public String getAbsolutePath()この抽象パス名の絶対パス名文字列を返します。この抽象パス名がすでに絶対パスである場合、パス名文字列は単に
getPath()
メソッドのように返されます。 この抽象パス名が空の抽象パス名の場合、現在のユーザー・ディレクトリ(システム・プロパティ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)
メソッドがファイルへの読み取りアクセスを拒否した場合- 導入されたバージョン:
- 1.1
- 関連項目:
Path.toRealPath(java.nio.file.LinkOption...)
-
getCanonicalFile
public File getCanonicalFile() throws IOExceptionこの抽象パス名の正規の形式を返します。new File(this.
と同等です。getCanonicalPath()
)- 戻り値:
- この抽象パス名と同じファイルまたはディレクトリを示す正規パス名文字列
- 例外:
IOException
- 入出力エラーが発生した場合。正規のパス名を構築するとファイル・システムのクエリーが必要になることがあるため、発生する可能性があるSecurityException
- 必要なシステム・プロパティ値にアクセスできない場合、またはセキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.io.FileDescriptor)
メソッドがファイルへの読み取りアクセスを拒否した場合- 導入されたバージョン:
- 1.2
- 関連項目:
Path.toRealPath(java.nio.file.LinkOption...)
-
toURL
@Deprecated public URL toURL() throws MalformedURLException非推奨。この抽象パス名をfile:
URLに変換します。 URLの正確な形式はシステムに依存します。 この抽象パス名が示すファイルがディレクトリであると判別できた場合、変換後のURLはスラッシュで終わります。- 戻り値:
- ファイルURLを表すURLオブジェクト
- 例外:
MalformedURLException
- パスをURLとして構文解析できない場合- 導入されたバージョン:
- 1.2
- 関連項目:
toURI()
,URI
,URI.toURL()
,URL
-
toURI
public URI toURI()この抽象パス名を表すfile:
URIを構築します。URIの正確な形式はシステムに依存します。 この抽象パス名が示すファイルがディレクトリであると判別できた場合、変換後のURIはスラッシュで終わります。
指定された抽象パス名がfの場合は、次のように変換されます。
この例の場合、元の抽象パス名、URI、および新しい抽象パス名は、同じJava仮想マシンの複数の呼出しで作成する必要があります。 ただし、あるオペレーティング・システムの仮想マシンで作成したnew
fFile
(.toURI()).equals(
f.
getAbsoluteFile
())file:
URIを別のオペレーティング・システムの仮想マシンの抽象パス名に変換する場合、抽象パス名はシステムに依存するため、通常はこのように変換されません。この抽象パス名がUNCパス名を表している場合は、UNCのすべてのコンポーネント(サーバー名コンポーネントを含む)が
URI
パスに変換されます。 機関コンポーネントは未定義となり、null
として表されます。Path
クラスには、作成されるURI
の機関コンポーネントのサーバー名を変換するtoUri
メソッドが定義されています。toPath
メソッドを使用すると、この抽象パス名を表すPath
を取得できます。- 戻り値:
- 階層型の絶対URI。形式は、
"file"
、この抽象パス名を表すパス、未定義の権限、クエリー、フラグメント・コンポーネントと同等 - 例外:
SecurityException
- 必須のシステム・プロパティの値にアクセスできない場合。- 導入されたバージョン:
- 1.4
- 関連項目:
File(java.net.URI)
,URI
、URI.toURL()
-
canRead
public boolean canRead()この抽象パス名が示すファイルをアプリケーションが読み込めるかどうかを判定します。 一部のプラットフォームでは、読取り不可としてマークされたファイルの読取りを許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。 その結果、このメソッドはファイルに読取り権がない場合でもtrue
を返す可能性があります。- 戻り値:
- この抽象パス名が示すファイルが存在し、さらにアプリケーションがそれを読み込める場合だけ
true
、そうでない場合はfalse
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.lang.String)
メソッドがファイルへの読み取りアクセスを拒否した場合
-
canWrite
public boolean canWrite()この抽象パス名が示すファイルをアプリケーションが変更できるかどうかを判定します。 一部のプラットフォームでは、読取り専用としてマークされたファイルの変更を許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。 その結果、このメソッドはファイルが読取り専用としてマークされている場合でもtrue
を返す可能性があります。- 戻り値:
- ファイル・システムにこの抽象パス名が示すファイルが実際にあり、さらにアプリケーションがそのファイルに書き込める場合は
true
、そうでない場合はfalse
。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルへの書き込みアクセスを拒否した場合
-
exists
public boolean exists()この抽象パス名が示すファイルまたはディレクトリが存在するかどうかを判定します。- 戻り値:
- この抽象パス名が示すファイルまたはディレクトリが存在する場合は
true
、そうでない場合はfalse
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.lang.String)
メソッドがファイルまたはディレクトリへの読み取りアクセスを拒否した場合
-
isDirectory
public boolean isDirectory()この抽象パス名が示すファイルがディレクトリであるかどうかを判定します。ファイルがディレクトリではないときに入出力例外を判別する必要がある場合、または同じファイルのいくつかの属性が同時に必要な場合は、
Files.readAttributes
メソッドを使用できます。- 戻り値:
- この抽象パス名が示すファイルが存在し、さらにそれがディレクトリである場合は
true
、そうでない場合はfalse
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.lang.String)
メソッドがファイルへの読み取りアクセスを拒否した場合
-
isFile
public boolean isFile()この抽象パス名が示すファイルが普通のファイルかどうかを判定します。 ファイルは、それがディレクトリではなく、システムに依存するほかの基準を満たす場合に普通のファイルと見なされます。 Javaアプリケーションが生成したディレクトリ以外のファイルは、必ず普通のファイルです。ファイルが普通のファイルではないときに入出力例外を判別する必要がある場合、または同じファイルのいくつかの属性が同時に必要な場合は、
Files.readAttributes
メソッドを使用できます。- 戻り値:
- この抽象パス名が示すファイルが存在し、さらにそれが普通のファイルである場合は
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()この抽象パス名が示すファイルが最後に変更された時間を返します。- APIのノート:
- 戻り値の時間単位はミリ秒ですが、値の粒度は基礎となるファイル・システムによって異なり、大きくなる場合もあります。 たとえば、いくつかのファイル・システムでは秒単位のタイムスタンプが使用されます。
0L
が返されたときに入出力例外を判別する必要がある場合、同じファイルのいくつかの属性が同時に必要な場合、または最後のアクセスまたは作成が行なわれた時間が必要な場合は、Files.readAttributes
を使用できます。 ただし、最後の変更の時間だけが必要な場合は、代わりにFiles.getLastModifiedTime
メソッドを使用できます。 - 戻り値:
- ファイルが最後に変更された時刻を表す
long
値。元期(1970年1月1日0時0分0秒GMT)からミリ秒単位で測定。ファイルが存在しないか、入出力エラーが発生した場合は0L
この値は、エポックの前のミリ秒数を示す負数であってもよい - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.lang.String)
メソッドがファイルへの読み取りアクセスを拒否した場合
-
length
public long length()この抽象パス名に指定されているファイルの長さを返します。 パス名にディレクトリが指定されている場合、戻り値は指定されません。0L
が返されたときに入出力例外を判別する必要がある場合、または同じファイルのいくつかの属性が同時に必要な場合は、Files.readAttributes
メソッドを使用できます。- 戻り値:
- この抽象パス名が示すファイルの長さ(バイト単位)。ファイルが存在しない場合は
0L
。 一部のオペレーティング・システムでは、デバイスやパイプなどのシステム依存エンティティを示すパス名について0L
を返すことがある。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(java.lang.String)
メソッドがファイルへの読み取りアクセスを拒否した場合
-
createNewFile
public boolean createNewFile() throws IOExceptionこの抽象パス名が示す空の新しいファイルを不可分(atomic)に生成します(その名前のファイルがまだ存在しない場合だけ)。 ファイルがあるかどうかのチェックや、ない場合のファイルの生成は、そのファイルに影響を与える可能性のあるほかのすべてのファイル・システムの処理に対して不可分である単一の操作です。ノート:このメソッドをファイル・ロックのために使用しないでください。結果となるプロトコルを確実に動作させることができません。 代わりに、
FileLock
機能を使用するようにしてください。- 戻り値:
- 指定されたファイルが存在せず、ファイルの生成に成功した場合は
true
、示されたファイルがすでに存在する場合はfalse
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.2
-
delete
public boolean delete()この抽象パス名が示すファイルまたはディレクトリを削除します。 このパス名がディレクトリを示す場合、そのディレクトリが削除されるためには空である必要があります。Files
クラスには、ファイルを削除できないときにIOException
をスローするdelete
メソッドが定義されています。 これは、エラーの報告、およびファイルを削除できない原因の診断を行う場合に便利です。- 戻り値:
- ファイルまたはディレクトリが正常に削除された場合は
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つです。 そのディレクトリ自体およびその親のディレクトリを示す名前は結果に含まれません。 各文字列は、絶対パスではなくファイル名です。結果の配列の名前文字列は特定の順序にはなりません。アルファベット順になるわけではありません。
Files
クラスは、ディレクトリを開き、そのディレクトリ内のファイルの名前に対し反復処理を行うnewDirectoryStream
メソッドを定義することに注意してください。 このメソッドは、非常に大きなディレクトリを操作するときに使用されるリソースがより少なく、リモート・ディレクトリを操作するときの応答がより迅速である場合があります。- 戻り値:
- この抽象パス名が示すディレクトリにあるファイルおよびディレクトリを示す文字列の配列。 配列は、ディレクトリが空の場合は空になる。 この抽象パス名がディレクトリを示さない場合、または入出力エラーが発生した場合は
null
を返す。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(String)
メソッドがディレクトリへの読取りアクセスを拒否した場合
-
list
public String[] list(FilenameFilter filter)この抽象パス名が示すディレクトリにあるファイルおよびディレクトリの中で、指定されたフィルタの基準を満たすものの文字列の配列を返します。 このメソッドの動作はlist()
メソッドと同じですが、返された配列内の文字列はフィルタの基準を満たす必要があります。 指定されたfilter
がnull
の場合、すべての名前が受け入れられます。 そうでない場合、名前がフィルタの基準を満たすのは、フィルタのFilenameFilter.accept(File, String)
メソッドが、この抽象パス名およびそれが示すディレクトリ内のファイルまたはディレクトリの名前で呼び出されたときにtrue
が返される場合だけです。- パラメータ:
filter
- ファイル名フィルタ- 戻り値:
- 指定された
filter
によって受け入れられた、この抽象パス名が示すディレクトリ内のファイルおよびディレクトリを示す文字列の配列。 配列は、ディレクトリが空の場合またはフィルタがどの名前も受け入れない場合は空になる。 この抽象パス名がディレクトリを示さない場合、または入出力エラーが発生した場合はnull
を返す。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(String)
メソッドがディレクトリへの読取りアクセスを拒否した場合- 関連項目:
Files.newDirectoryStream(Path,String)
-
listFiles
public File[] listFiles()この抽象パス名が示すディレクトリ内のファイルを示す抽象パス名の配列を返します。この抽象パス名がディレクトリを示さない場合、このメソッドは
null
を返します。 ディレクトリを示す場合は、File
オブジェクトの配列が返されます。Fileオブジェクトは、ディレクトリ内の各ファイルまたはディレクトリごとに1つです。 ディレクトリ自体およびその親のディレクトリを示すパス名は結果に含まれません。 結果として得られる各抽象パス名は、File(File, String)
コンストラクタを使用することにより、この抽象パス名から構築されます。 そのため、このパス名が絶対の場合、結果として得られる各パス名は絶対です。このパス名が相対の場合、結果として得られる各パス名は同じディレクトリに対して相対です。結果の配列の名前文字列は特定の順序にはなりません。アルファベット順になるわけではありません。
Files
クラスは、ディレクトリを開き、そのディレクトリ内のファイルの名前に対し反復処理を行うnewDirectoryStream
メソッドを定義することに注意してください。 これは、非常に大きなディレクトリを操作する場合に、使用されるリソースが少なくなる可能性があります。- 戻り値:
- この抽象パス名が示すディレクトリ内のファイルおよびディレクトリを示す抽象パス名の配列。 配列は、ディレクトリが空の場合は空になる。 この抽象パス名がディレクトリを示さない場合、または入出力エラーが発生した場合は
null
を返す。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(String)
メソッドがディレクトリへの読取りアクセスを拒否した場合- 導入されたバージョン:
- 1.2
-
listFiles
public File[] listFiles(FilenameFilter filter)この抽象パス名が示すディレクトリにあるファイルおよびディレクトリの中で、指定されたフィルタの基準を満たすものの抽象パス名の配列を返します。 このメソッドの動作はlistFiles()
メソッドと同じですが、返された配列内のパス名はフィルタの基準を満たす必要があります。 指定されたfilter
がnull
の場合、すべてのパス名が受け入れられます。 そうでない場合、パス名がフィルタの基準を満たすのは、フィルタのFilenameFilter.accept(File, String)
メソッドが、この抽象パス名およびそれが示すディレクトリ内のファイルまたはディレクトリの名前で呼び出されたときにtrue
が返される場合だけです。- パラメータ:
filter
- ファイル名フィルタ- 戻り値:
- この抽象パス名が示すディレクトリ内のファイルおよびディレクトリを示す抽象パス名の配列。 配列は、ディレクトリが空の場合は空になる。 この抽象パス名がディレクトリを示さない場合、または入出力エラーが発生した場合は
null
を返す。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(String)
メソッドがディレクトリへの読取りアクセスを拒否した場合- 導入されたバージョン:
- 1.2
- 関連項目:
Files.newDirectoryStream(Path,String)
-
listFiles
public File[] listFiles(FileFilter filter)この抽象パス名が示すディレクトリにあるファイルおよびディレクトリの中で、指定されたフィルタの基準を満たすものの抽象パス名の配列を返します。 このメソッドの動作はlistFiles()
メソッドと同じですが、返された配列内のパス名はフィルタの基準を満たす必要があります。 指定されたfilter
がnull
の場合、すべてのパス名が受け入れられます。 そうでない場合、パス名がフィルタの基準を満たすのは、このフィルタのFileFilter.accept(File)
メソッドがパス名で呼び出されたときにtrue
の値が返される場合だけです。- パラメータ:
filter
- ファイル・フィルタ- 戻り値:
- この抽象パス名が示すディレクトリ内のファイルおよびディレクトリを示す抽象パス名の配列。 配列は、ディレクトリが空の場合は空になる。 この抽象パス名がディレクトリを示さない場合、または入出力エラーが発生した場合は
null
を返す。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkRead(String)
メソッドがディレクトリへの読取りアクセスを拒否した場合- 導入されたバージョン:
- 1.2
- 関連項目:
Files.newDirectoryStream(Path,java.nio.file.DirectoryStream.Filter)
-
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)この抽象パス名が示すファイルの名前を変更します。このメソッドの動作の多くの部分は、本質的にプラットフォーム依存です。名前の変更操作では、ファイルをファイル・システム間で移動できないことがあります。この操作は不可分でないことがあります。また、移動先の抽象パス名を持つファイルがすでに存在する場合は、この操作が成功しない可能性があります。 名前の変更操作が成功したことを確認するために、常に戻り値を調べるようにしてください。
Files
クラスには、プラットフォームに依存しない形式でファイルを移動または名前変更するためのmove
メソッドが定義されています。- パラメータ:
dest
- 指定されたファイルの新しい抽象パス名- 戻り値:
- 名前の変更が成功した場合は
true
、それ以外の場合はfalse
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、SecurityManager.checkWrite(java.lang.String)
メソッドが古いパス名または新しいパス名への書き込みアクセスを拒否した場合NullPointerException
-dest
パラメータがnull
である場合
-
setLastModified
public boolean setLastModified(long time)この抽象パス名が示すファイルまたはディレクトリが変更された時刻を設定します。すべてのプラットフォームは、秒単位に丸められたファイル変更時刻をサポートしますが、中にはもっと高い精度をサポートするものもあります。 引数は、サポートされている精度に合わせて切り捨てられます。 操作が成功し、ファイルへの介入操作が行われない場合、次に
lastModified()
メソッドを呼び出すと、このメソッドに渡された(おそらく切り捨てられた)time
引数が返されます。- パラメータ:
time
- 新しい最終変更時間。元期(1970年1月1日0時0分0秒GMT)からミリ秒単位で測定- 戻り値:
- 操作が成功した場合は
true
、それ以外の場合はfalse
- 例外:
IllegalArgumentException
- 引数が負の値の場合SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドが指定されたファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.2
-
setReadOnly
public boolean setReadOnly()この抽象パス名が示すファイルまたはディレクトリにマークを設定し、読込みオペレーションだけが許可されるようにします。 このメソッドを呼び出した後、ファイルまたはディレクトリはそれが削除されるか、書込みアクセスを許可するようにマークされるまで変更されません。 一部のプラットフォームでは、読取り専用としてマークされたファイルの変更を許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。 読込み専用ファイルまたはディレクトリが削除できるかどうかは、背後のシステムに依存します。- 戻り値:
- 操作が成功した場合は
true
、それ以外の場合はfalse
- 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドが指定されたファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.2
-
setWritable
public boolean setWritable(boolean writable, boolean ownerOnly)この抽象パス名に所有者または全員の書込み権を設定します。 一部のプラットフォームでは、書込み操作を許可しないファイルの変更を許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。Files
クラスは、ファイル・アクセス権を含むファイル属性を操作するメソッドを定義します。 これは、ファイル・アクセス権をより細かく操作する必要がある場合に使用できます。- パラメータ:
writable
-true
の場合は書込み操作を許可するようにアクセス権を設定し、false
の場合は書込み操作を許可しないように設定するownerOnly
-true
の場合、書込み権は所有者の書込み権だけに適用され、そうでない場合は、全員に適用される。 ベースとなるファイル・システムで所有者とそれ以外の書込み権を区別できない場合は、この値に関係なく、アクセス権は全員に適用される。- 戻り値:
- 操作が成功した場合は
true
。 ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗する。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドが指定されたファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.6
-
setWritable
public boolean setWritable(boolean writable)この抽象パス名に所有者の書込み権を設定する簡易メソッドです。 一部のプラットフォームでは、書込み操作を許可しないファイルの変更を許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。このメソッドを
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)この抽象パス名に所有者または全員の読取り権を設定します。 一部のプラットフォームでは、読取り不可としてマークされたファイルの読取りを許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。Files
クラスは、ファイル・アクセス権を含むファイル属性を操作するメソッドを定義します。 これは、ファイル・アクセス権をより細かく操作する必要がある場合に使用できます。- パラメータ:
readable
-true
の場合は読取り操作を許可するようにアクセス権を設定し、false
の場合は読取り操作を許可しないように設定するownerOnly
-true
の場合、読取り権は所有者の読取り権だけに適用され、そうでない場合は、全員に適用される。 ベースとなるファイル・システムで所有者とそれ以外の読取り権を区別できない場合、この値に関係なく、アクセス権は全員に適用される。- 戻り値:
- 操作が成功した場合は
true
。 ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗する。readable
がfalse
で、ベースとなるファイル・システムが読取りアクセス権を実装していない場合、操作は失敗する。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.6
-
setReadable
public boolean setReadable(boolean readable)この抽象パス名に所有者の読取り権を設定する簡易メソッドです。 一部のプラットフォームでは、読取り不可としてマークされたファイルの読取りを許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。このメソッドを
file.setReadable(arg)
の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。file.setReadable(arg, true)
- パラメータ:
readable
-true
の場合は読取り操作を許可するようにアクセス権を設定し、false
の場合は読取り操作を許可しないように設定する- 戻り値:
- 操作が成功した場合は
true
。 ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗する。readable
がfalse
で、ベースとなるファイル・システムが読取りアクセス権を実装していない場合、操作は失敗する。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.6
-
setExecutable
public boolean setExecutable(boolean executable, boolean ownerOnly)この抽象パス名に所有者または全員の実行権を設定します。 一部のプラットフォームでは、実行可能としてマークされていないファイルの実行を許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。Files
クラスは、ファイル・アクセス権を含むファイル属性を操作するメソッドを定義します。 これは、ファイル・アクセス権をより細かく操作する必要がある場合に使用できます。- パラメータ:
executable
-true
の場合は実行操作を許可するようにアクセス権を設定し、false
の場合は実行操作を許可しないように設定するownerOnly
-true
の場合、実行権は所有者の実行権だけに適用され、そうでない場合は、全員に適用される。 ベースとなるファイル・システムで所有者とそれ以外の実行権を区別できない場合は、この値に関係なく、アクセス権は全員に適用される。- 戻り値:
- 操作が成功した場合は
true
。 ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗する。executable
がfalse
で、ベースとなるファイル・システムが実行権を実装していない場合、操作は失敗する。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.6
-
setExecutable
public boolean setExecutable(boolean executable)この抽象パス名に所有者の実行権を設定する簡易メソッドです。 一部のプラットフォームでは、実行可能としてマークされていないファイルの実行を許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。このメソッドを
file.setExcutable(arg)
の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。file.setExecutable(arg, true)
- パラメータ:
executable
-true
の場合は実行操作を許可するようにアクセス権を設定し、false
の場合は実行操作を許可しないように設定する- 戻り値:
- 操作が成功した場合は
true
。 ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗する。executable
がfalse
で、ベースとなるファイル・システムが実行権を実装していない場合、操作は失敗する。 - 例外:
SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルへの書き込みアクセスを拒否した場合- 導入されたバージョン:
- 1.6
-
canExecute
public boolean canExecute()この抽象パス名が示すファイルをアプリケーションが実行できるかどうかを判定します。 一部のプラットフォームでは、実行可能としてマークされていないファイルの実行を許可する特別な権限を使用してJava仮想マシンを起動できる場合があります。 その結果、このメソッドはファイルに実行権がない場合でもtrue
を返す可能性があります。- 戻り値:
- この抽象パス名が存在し、さらにアプリケーションがそのファイルを実行できる場合は
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
オブジェクトはこのメソッドで返されません。このクラスのほとんどのメソッドと違い、このメソッドはセキュリティ例外をスローしません。 セキュリティ・マネージャが存在し、
SecurityManager.checkRead(String)
メソッドが特定のルート・ディレクトリへの読取りアクセスを拒否する場合、そのディレクトリは結果に現れません。- 戻り値:
- 有効なファイル・システムのルートを示す
File
オブジェクトの配列。一連のルートが判別できない場合はnull
。 配列は、ファイル・システムのルートがない場合は空になる。 - 導入されたバージョン:
- 1.2
- 関連項目:
FileStore
-
getTotalSpace
public long getTotalSpace()この抽象パス名で指定されるパーティションのサイズを返します。 パーティションの合計バイト数がLong.MAX_VALUE
より大きい場合、Long.MAX_VALUE
が返されます。- 戻り値:
- この抽象パス名がパーティションを指定しない場合、またはサイズが取得できない場合のパーティションまたは
0L
のサイズ(バイト) - 例外:
SecurityException
- セキュリティ・マネージャがインストールされていて、それがRuntimePermission
(「getFileSystemAttributes」)
を拒否した場合、またはそのSecurityManager.checkRead(String)
メソッドがこの抽象パス名で指定されたファイルへの読取りアクセスを拒否した場合- 導入されたバージョン:
- 1.6
- 関連項目:
FileStore.getTotalSpace()
-
getFreeSpace
public long getFreeSpace()この抽象パス名で指定されるパーティション内で未割当てのバイト数を返します。 パーティションで未割当てのバイト数がLong.MAX_VALUE
より大きい場合、Long.MAX_VALUE
が返されます。返される未割当てのバイト数は、1つの手掛かりであり、保証を示すものではありません。これらのバイトのほとんどまたは一部を使用できる可能性を示しています。 未割当てのバイト数は、この呼出しの直後は正確である可能性がもっとも高くなります。 外部の入出力操作(この仮想マシンの外部のシステムで行われる入出力操作を含む)によって不正確になります。 このメソッドによって、このファイル・システムへの書込み操作が成功する保証はありません。
- 戻り値:
- パーティションで未割当てのバイト数。抽象パス名がパーティションを指定しない場合、またはこの番号を取得できない場合は、
0L
の値。 この値は、getTotalSpace()
で返されるファイル・システムの合計サイズ以下。 - 例外:
SecurityException
- セキュリティ・マネージャがインストールされていて、それがRuntimePermission
(「getFileSystemAttributes」)
を拒否した場合、またはそのSecurityManager.checkRead(String)
メソッドがこの抽象パス名で指定されたファイルへの読取りアクセスを拒否した場合- 導入されたバージョン:
- 1.6
- 関連項目:
FileStore.getUnallocatedSpace()
-
getUsableSpace
public long getUsableSpace()この抽象パス名で指定されるパーティション上で、この仮想マシンが利用できるバイト数を返します。 パーティションの使用可能なバイト数がLong.MAX_VALUE
より大きい場合は、Long.MAX_VALUE
が戻されます。 可能であれば、このメソッドは書込み権やその他のオペレーティング・システム制約を確認します。そのため、実際に書き込むことができる新しいデータの量について、通常はgetFreeSpace()
を実行した場合よりも正確な推定量を返します。返される利用可能なバイト数は、確かなものではなく単なる手掛かりであり、これらのバイトのほとんどまたは一部を使用できます。 使用可能なバイト数は、このコールの直後の正確さを示します。 外部の入出力操作(この仮想マシンの外部のシステムで行われる入出力操作を含む)によって不正確になります。 このメソッドによって、このファイル・システムへの書込み操作が成功する保証はありません。
- 戻り値:
- パーティションで利用できるバイト数。抽象パス名がパーティションを指定しない場合、またはこの番号が取得できない場合は
0L
。 この情報を利用できないシステムの場合、このメソッドは、getFreeSpace()
を呼び出すことと同じである。 - 例外:
SecurityException
- セキュリティ・マネージャがインストールされていて、それがRuntimePermission
(「getFileSystemAttributes」)
を拒否した場合、またはそのSecurityManager.checkRead(String)
メソッドがこの抽象パス名で指定されたファイルへの読取りアクセスを拒否した場合- 導入されたバージョン:
- 1.6
- 関連項目:
FileStore.getUsableSpace()
-
createTempFile
public static File createTempFile(String prefix, String suffix, File directory) throws IOException指定されたディレクトリで新しい空のファイルを生成し、その名前には、指定された接頭辞および接尾辞の文字列が使用されます。 このメソッドが正常に復帰する場合、次のことが保証されます。
- 返された抽象パス名が示すファイルが存在するのは、このメソッドが呼び出されたあとである
- このメソッドまたはその派生メソッドのどれも仮想マシンの現在の呼出しでふたたび同じ抽象パス名を返さない。
deleteOnExit()
メソッドを使用します。prefix
引数の長さは3文字以上必要です。 接頭辞は、"hjb"
または"mail"
などの短くて意味のある文字列にしてください。suffix
引数はnull
も指定でき、その場合、接尾辞".tmp"
が使用されます。新しいファイルを生成するために、まず接頭辞および接尾辞がベースとなるプラットフォームの制限に合わせて調整されます。 接頭辞が長すぎる場合は、切り詰められますが、最初の3文字は常に保存されます。 接尾辞が長すぎる場合は、切り詰められますが、それがピリオド(
'.'
)で始まる場合、ピリオドおよびそのあとの最初の3文字は常に保存されます。 これらの調整が終わると、接頭辞、5つ以上の内部で生成された文字、および接尾辞を連結して新しいファイル名が生成されます。directory
引数がnull
の場合、システムに依存するデフォルトの一時ファイル・ディレクトリが使用されます。 デフォルトの一時ファイル・ディレクトリは、システム・プロパティjava.io.tmpdir
で指定されます。 UNIXシステムの場合、このプロパティのデフォルト値は"/tmp"
または"/var/tmp"
、Microsoft Windowsシステムの場合は"C:\\WINNT\\TEMP"
です。 ただし、Java仮想マシンを起動したときに、このシステム・プロパティに別の値が指定されることがあります。プログラムを使用してこのプロパティを変更しても、このメソッドが使用する一時ディレクトリを変更できるとはかぎりません。- パラメータ:
prefix
- ファイル名を生成するために使用される接頭辞文字列。3文字以上の長さが必要であるsuffix
- ファイル名を生成するために使用される接尾辞文字列。null
も指定でき、その場合は、接尾辞".tmp"
が使用されるdirectory
- ファイルが生成されるディレクトリ。デフォルトの一時ファイル・ディレクトリが使用される場合はnull
- 戻り値:
- 新規作成された空のファイルを示す抽象パス名
- 例外:
IllegalArgumentException
-prefix
引数が3文字に満たない場合IOException
- ファイルを生成できなかった場合SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルの作成を許可しない場合- 導入されたバージョン:
- 1.2
-
createTempFile
public static File createTempFile(String prefix, String suffix) throws IOException指定された接頭辞と接尾辞をファイル名の生成に使用して、デフォルトの一時ファイル・ディレクトリに空のファイルを生成します。 このメソッドを呼び出すことは、createTempFile(prefix, suffix, null)
を呼び出すことと同じです。Files.createTempFile
メソッドは、一時ファイル・ディレクトリに空のファイルを作成するための代替のメソッドです。 そのメソッド(Filesクラス)で作成したファイルは、このメソッド(Fileクラス)で作成したファイルよりアクセス権が制限される場合があるため、セキュリティ保護を必要とするアプリケーションにより適していることがあります。- パラメータ:
prefix
- ファイル名を生成するために使用される接頭辞文字列。3文字以上の長さが必要であるsuffix
- ファイル名を生成するために使用される接尾辞文字列。null
も指定でき、その場合は、接尾辞".tmp"
が使用される- 戻り値:
- 新規作成された空のファイルを示す抽象パス名
- 例外:
IllegalArgumentException
-prefix
引数が3文字に満たない場合IOException
- ファイルを生成できなかった場合SecurityException
- セキュリティ・マネージャが存在し、そのSecurityManager.checkWrite(java.lang.String)
メソッドがファイルの作成を許可しない場合- 導入されたバージョン:
- 1.2
- 関連項目:
Files.createTempDirectory(String,FileAttribute[])
-
compareTo
public int compareTo(File pathname)2つの抽象パス名を語彙的に比較します。 このメソッドが定義する順序はベースとなるシステムに依存します。 UNIXシステムの場合、アルファベットの大文字と小文字がパス名の比較で意味を持ちます。Microsoft Windowsシステムでは意味を持ちません。- 定義:
compareTo
、インタフェース:Comparable<File>
- パラメータ:
pathname
- この抽象パス名と比較される抽象パス名- 戻り値:
- 引数がこの抽象パス名と等しい場合は0。この抽象パス名が引数より語彙的に小さい場合は負の値。この抽象パス名が引数より語彙的に大きい場合は正の値
- 導入されたバージョン:
- 1.2
-
equals
public boolean equals(Object obj)この抽象パス名が指定されたオブジェクトと等しいかどうかを判定します。 引数がnull
ではなく、この抽象パス名と同じファイルまたはディレクトリを示す抽象パス名である場合にだけtrue
を返します。 2つの抽象パス名が等しいかどうかはベースとなるシステムに依存します。 UNIXシステムの場合、アルファベットの大文字と小文字がパス名の比較で意味を持ちます。Microsoft Windowsシステムでは意味を持ちません。- オーバーライド:
equals
、クラス:Object
- パラメータ:
obj
- この抽象パス名と比較されるオブジェクト- 戻り値:
- 2つのオブジェクトが同じ場合は
true
、そうでない場合はfalse
- 関連項目:
Object.hashCode()
、HashMap
-
hashCode
public int hashCode()この抽象パス名のハッシュ・コードを計算します。 抽象パス名が等しいかどうかは本質的にシステムに依存するので、それらのハッシュ・コードの計算も同じです。 UNIXシステムの場合、抽象パス名のハッシュ・コードは、そのパス名文字列のハッシュ・コードと10進数値1234321
の排他的論理和と等しくなります。 Microsoft Windowsシステムの場合、ハッシュ・コードは、そのパス名文字列(小文字に変換されたもの)のハッシュ・コードと10進数値1234321
の排他的論理和と等しくなります。 パス名文字列を小文字に変換する際、ロケールは考慮されません。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- この抽象パス名のハッシュ・コード
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
toString
public String toString()この抽象パス名のパス名文字列を返します。 これは、getPath()
メソッドによって返された文字列です。 -
toPath
public Path toPath()この抽象パスから構築されたjava.nio.file.Path
オブジェクトを返します。 結果のPath
はdefault-filesystem
に関連付けられています。このメソッドの最初の呼出しは、次の式を評価するために呼び出すのと同様に動作します。
このメソッドの後続呼出し時には、同じFileSystems.getDefault
().getPath
(this.getPath
());Path
が返されます。この抽象パス名が空の抽象パス名である場合、このメソッドは、現在のユーザー・ディレクトリにアクセスするために使用できる
Path
を返します。- 戻り値:
- この抽象パスから生成された
Path
- 例外:
InvalidPathException
-Path
オブジェクトを抽象パスから生成できない場合(FileSystem.getPath
を参照)- 導入されたバージョン:
- 1.7
- 関連項目:
Path.toFile()
-