|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
java.lang.Objectjava.io.File
public class File
ファイルおよびディレクトリのパス名の抽象表現です。
ユーザーインタフェースおよびオペレーティングシステムは、システムに依存する「パス名文字列」でファイルおよびディレクトリを指定します。このクラスは、階層的なパス名の抽象的でシステムに依存しないビューを提供します。「抽象パス名」は 2 つのコンポーネントで構成されます。
"/"、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 パス名を扱うために使用されます。
"/" です。相対パス名は接頭辞を持ちません。ルートディレクトリを示す抽象パス名は、接頭辞 "/" と空の名前シーケンスを持ちます。
":"、および "\\" の順序で構成されます。UNC パス名の接頭辞は "\\\\" です。ホスト名および共有名は名前シーケンスのうちの最初の 2 つの名前になります。ドライブを指定しない相対パス名は接頭辞を持ちません。
このクラスのインスタンスは、実際のファイルシステムオブジェクト (ファイルやディレクトリなど) を示す場合も、示さない場合もあります。このようなオブジェクトを示す場合、そのオブジェクトは「パーティション」内に存在します。パーティションとは、ファイルシステム用の記憶域でオペレーティングシステム固有の部分です。1 つの記憶装置 (物理ディスクドライブ、フラッシュメモリー、CD-ROM など) に、複数のパーティションが含まれることがあります。オブジェクトが存在する場合は、このパス名の絶対形式の上位にあるものによって指定されるパーティションに存在します。
ファイルシステムでは、実際のファイルシステムオブジェクトに対する特定の操作 (読み取り、書き込み、実行など) への制約を実装することができます。これらの制約を総称して「アクセス権」と呼びます。ファイルシステムには、1 つのオブジェクトに対して複数の組のアクセス権が設定されていることがあります。たとえば、ある組をオブジェクトの「所有者」に適用し、別の組をほかのすべてのユーザーに適用することができます。オブジェクトのアクセス権が原因で、このクラスの一部のメソッドが失敗することがあります。
File クラスのインスタンスは不変です。つまり、一度作成されると、File オブジェクトで表される抽象パス名は変更されません。
| フィールドの概要 | |
|---|---|
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()
この抽象パス名が示す空の新しいファイルを不可分 (atomic) に生成します (その名前のファイルがまだ存在しない場合だけ)。 |
static File |
createTempFile(String prefix,
String suffix)
指定された接頭辞と接尾辞をファイル名の生成に使用して、デフォルトの一時ファイルディレクトリに空のファイルを生成します。 |
static File |
createTempFile(String prefix,
String suffix,
File directory)
指定されたディレクトリで新しい空のファイルを生成し、その名前には、指定された接頭辞および接尾辞の文字列が使用されます。 |
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 |
| フィールドの詳細 |
|---|
public static final char separatorChar
file.separator の値の最初の文字を格納するように初期化されます。UNIX システムの場合、このフィールドの値は '/'、Microsoft Windows システムの場合は '\\' です。
System.getProperty(java.lang.String)public static final String separator
separatorChar です。
public static final char pathSeparatorChar
path.separator の値の先頭文字を使って初期化されます。この文字は、「パスリスト」として渡されるファイルのシーケンス中のファイル名を区切るために使用されます。UNIX システムの場合、この区切り文字は ':' です。Microsoft Windows システムでは ';' です。
System.getProperty(java.lang.String)public static final String pathSeparator
pathSeparatorChar です。
| コンストラクタの詳細 |
|---|
public File(String pathname)
File のインスタンスを生成します。指定された文字列が空の文字列の場合、結果は空の抽象パス名になります。
pathname - パス名文字列
NullPointerException - pathname 引数が null の場合
public File(String parent,
String child)
File のインスタンスを生成します。
parent が null の場合、新しい File のインスタンスは、指定された child パス名文字列で単一引数の File コンストラクタを呼び出したように生成されます。
そうでない場合、parent パス名文字列はディレクトリを示し、child パス名文字列はディレクトリまたはファイルを示します。child パス名文字列が絶対の場合、それはシステムに依存する方法で相対パス名に変換されます。parent が空の文字列の場合、新しい File のインスタンスは、child を抽象パス名に変換し、その結果をシステムに依存するデフォルトディレクトリを基準に解決することで生成されます。そうでない場合、各パス名文字列は抽象パス名に変換され、子抽象パス名は親を基準に解決されます。
parent - 親パス名文字列child - 子パス名文字列
NullPointerException - child が null の場合
public File(File parent,
String child)
File のインスタンスを生成します。
parent が null の場合、新しい File のインスタンスは、指定された child パス名文字列で単一引数の File コンストラクタを呼び出したように生成されます。
そうでない場合、parent 抽象パス名はディレクトリを示し、child パス名文字列はディレクトリまたはファイルを示します。child パス名文字列が絶対の場合、それはシステムに依存する方法で相対パス名に変換されます。parent が空の抽象パス名の場合、新しい File のインスタンスは、child を抽象パス名に変換し、その結果をシステムに依存するデフォルトディレクトリを基準に解決することで生成されます。そうでない場合、各パス名文字列は抽象パス名に変換され、子抽象パス名は親を基準に解決されます。
parent - 親抽象パス名child - 子パス名文字列
NullPointerException - child が null の場合public File(URI uri)
file: URI の形式はシステムに依存するため、このコンストラクタが行う変換もシステムに依存します。
指定された抽象パス名が f の場合は、次のように変換されます。
new File( f.この例の場合、元の抽象パス名、URI、および新しい抽象パス名は、同じ Java 仮想マシンの複数の呼び出しで作成する必要があります。ただし、あるオペレーティングシステムの仮想マシンで作成した file: URI を別のオペレーティングシステムの仮想マシンの抽象パス名に変換する場合、通常はこのように変換されません。toURI()).equals( f.getAbsoluteFile())
uri - 階層型の絶対 URI。形式は、"file"、空でないパスコンポーネント、未定義の権限、クエリー、フラグメントコンポーネントと同等
NullPointerException - uri が null の場合
IllegalArgumentException - 上記のパラメータの前提条件が満たされていない場合toURI(),
URI| メソッドの詳細 |
|---|
public String getName()
public String getParent()
null を返します。
抽象パス名の親は、パス名の接頭辞 (存在する場合) およびパス名の名前シーケンスの各名前 (最後の名前を除く) で構成されます。名前シーケンスが空の場合、パス名は親ディレクトリを示しません。
nullpublic File getParentFile()
null を返します。
抽象パス名の親は、パス名の接頭辞 (存在する場合) およびパス名の名前シーケンスの各名前 (最後の名前を除く) で構成されます。名前シーケンスが空の場合、パス名は親ディレクトリを示しません。
nullpublic String getPath()
デフォルトの名前区切り文字を使用して名前シーケンスの名前を区切ります。
public boolean isAbsolute()
"/" の場合に絶対です。Microsoft Windows システムの場合、パス名は接頭辞がドライブ指示子のあとに "\\" が続く場合、または接頭辞が "\\\\" の場合に絶対です。
true、そうでない場合は falsepublic String getAbsolutePath()
この抽象パス名がすでに絶対である場合、パス名文字列は メソッドのように簡単に返されます。この抽象パス名が空の抽象パス名の場合、現在のユーザーディレクトリ (システムプロパティー getPath()user.dir で示される) のパス名文字列が返されます。そうでない場合、このパス名はシステムに依存する方法で解決されます。UNIX システムの場合、相対パス名は現在のユーザーディレクトリを基準に解決することで絶対になります。Microsoft Windows システムの場合、相対パス名はパス名で示されたドライブの現在のディレクトリがある場合は、それを基準に解決することで絶対になります。ない場合は、現在のユーザーディレクトリを基準に解決されます。
SecurityException - 必須のシステムプロパティーの値にアクセスできない場合isAbsolute()public File getAbsoluteFile()
new File(this.getAbsolutePath()) と同等です。
SecurityException - 必須のシステムプロパティーの値にアクセスできない場合
public String getCanonicalPath()
throws IOException
正規のパス名は、一意の絶対パスです。正規のパス名の正確な定義は、システムに依存します。このメソッドはまず、必要に応じてパス名を絶対形式に変換します。結果は、getAbsolutePath() メソッドを呼び出した場合と同じになります。次に、システムに依存する一意の形式に、そのパス名をマップします。このとき、通常は、パス名から "." や ".." などの冗長名を削除し、シンボリックリンクを解決し (UNIX プラットフォームの場合)、ドライブ名の大文字小文字を適切に変換し (Microsoft Windows プラットフォームの場合) ます。
既存のファイルまたはディレクトリを示す各パス名には、それぞれに固有の正規の形式があります。存在しないファイルまたはディレクトリを示す各パス名にも固有の正規の形式があります。存在しないファイルまたはディレクトリのパス名の正規の形式は、そのファイルまたはディレクトリが作成されたあとの同じパス名の正規の形式とは異なる場合があります。同じように、既存のファイルまたはディレクトリのパス名の正規の形式は、そのファイルまたはディレクトリが削除されたあとの同じパス名の正規の形式とは異なる場合があります。
IOException - 入出力エラーが発生した場合。正規のパス名を構築することでファイルシステムのクエリーを要求すると発生する
SecurityException - 必須のシステムプロパティーの値にアクセスできない場合、またはセキュリティーマネージャーが存在し、かつセキュリティーマネージャーの SecurityManager.checkRead(java.io.FileDescriptor) メソッドがファイルへの読み取りアクセスを許可しない場合
public File getCanonicalFile()
throws IOException
new File(this.getCanonicalPath()) と同等です。
IOException - 入出力エラーが発生した場合。正規のパス名を構築することでファイルシステムのクエリーを要求すると発生する
SecurityException - 必須のシステムプロパティーの値にアクセスできない場合、またはセキュリティーマネージャーが存在し、かつセキュリティーマネージャーの SecurityManager.checkRead(java.io.FileDescriptor) メソッドがファイルへの読み取りアクセスを許可しない場合
@Deprecated
public URL toURL()
throws MalformedURLException
toURI メソッドを使用して URI に変換してから、URI.toURL メソッドを使用して URL に変換することをお勧めします。
file: URL に変換します。URL の正確な形式はシステムに依存します。この抽象パス名が示すファイルがディレクトリであると判別できた場合、変換後の URL はスラッシュで終わります。
MalformedURLException - パスを URL として構文解析できない場合toURI(),
URI,
URI.toURL(),
URLpublic URI toURI()
URI の正確な形式はシステムに依存します。この抽象パス名が示すファイルがディレクトリであると判別できた場合、変換後の URI はスラッシュで終わります。
指定された抽象パス名が f の場合は、次のように変換されます。
newこの例の場合、元の抽象パス名、URI、および新しい抽象パス名は、同じ Java 仮想マシンの複数の呼び出しで作成する必要があります。ただし、あるオペレーティングシステムの仮想マシンで作成した file: URI を別のオペレーティングシステムの仮想マシンの抽象パス名に変換する場合、抽象パス名はシステムに依存するため、通常はこのように変換されません。File( f.toURI()).equals( f.getAbsoluteFile())
SecurityException - 必須のシステムプロパティーの値にアクセスできない場合File(java.net.URI),
URI,
URI.toURL()public boolean canRead()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがファイルへの読み取りアクセスを許可しないときpublic boolean canWrite()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルへの書き込みアクセスを許可しないときpublic boolean exists()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがファイルまたはディレクトリへの読み取りアクセスを許可しないときpublic boolean isDirectory()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがファイルへの読み取りアクセスを許可しないときpublic boolean isFile()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがファイルへの読み取りアクセスを許可しないときpublic boolean isHidden()
'.') で始まる場合に隠しファイルとみなされます。Microsoft Windows システムの場合、ファイルはファイルシステムでそのようにマークが設定されている場合に隠しファイルとみなされます。
true
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがファイルへの読み取りアクセスを許可しないときpublic long lastModified()
long 値。エポック (1970 年 1 月 1 日 0 時 0 分 0 秒、グリニッジ標準時) からミリ秒単位で測定。ファイルが存在しないか、入出力エラーが発生した場合は 0L
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがファイルへの読み取りアクセスを許可しないときpublic long length()
0L。
一部のオペレーティングシステムでは、デバイスやパイプなどのシステム依存エンティティーを示すパス名について 0L を返すことがある
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがファイルへの読み取りアクセスを許可しないとき
public boolean createNewFile()
throws IOException
注:このメソッドをファイルロックのために使用しないでください。結果として得られるプロトコルを確実に動作させることができません。代わりに FileLock 機能を使用することをお勧めします。
true、示されたファイルがすでに存在する場合は false
IOException - 入出力エラーが発生した場合
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルへの書き込みアクセスを許可しないときpublic boolean delete()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkDelete(java.lang.String) メソッドがファイルへの削除アクセスを許可しないときpublic void deleteOnExit()
削除がいったん要求されると、その要求は取り消せません。そのため、このメソッドの使用には注意が必要です。
注:このメソッドをファイルロックのために使用しないでください。結果として得られるプロトコルを確実に動作させることができません。代わりに FileLock 機能を使用することをお勧めします。
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkDelete(java.lang.String) メソッドがファイルへの削除アクセスを許可しないときdelete()public String[] list()
この抽象パス名がディレクトリを示さない場合、このメソッドは null を返します。ディレクトリを示す場合は、文字列の配列が返されます。文字列は、ディレクトリ内の各ファイルまたはディレクトリごとに 1 つです。そのディレクトリ自体およびその親のディレクトリを示す名前は結果に含まれません。各文字列は、絶対パスではなくファイル名です。
結果として得られる配列の名前文字列は特定の順序にはなりません。アルファベット順になるわけではありません。
null
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがディレクトリへの読み取りアクセスを許可しないときpublic String[] list(FilenameFilter filter)
list() メソッドと同じです。指定された filter が null の場合、すべての名前が受け入れられます。そうでない場合、名前がフィルタの基準を満たすのは、フィルタの FilenameFilter.accept(java.io.File, java.lang.String) メソッドが、この抽象パス名およびそれが示すディレクトリ内のファイルまたはディレクトリの名前で呼び出されたときに true が返される場合だけです。
filter - ファイル名フィルタ
filter によって受け入れられた、この抽象パス名が示すディレクトリ内のファイルおよびディレクトリを示す文字列の配列。配列は、ディレクトリが空の場合またはフィルタがどの名前も受け入れない場合は空になる。この抽象パス名がディレクトリを示さない場合、または入出力エラーが発生した場合は null
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがディレクトリへの読み取りアクセスを許可しないときpublic File[] listFiles()
この抽象パス名がディレクトリを示さない場合、このメソッドは null を返します。ディレクトリを示す場合、File オブジェクトの配列が返されます。File オブジェクトは、ディレクトリ内の各ファイルまたはディレクトリごとに 1 つです。ディレクトリ自体およびその親のディレクトリを示すパス名は結果に含まれません。結果として得られる各抽象パス名は、 コンストラクタを使用することにより、この抽象パス名から生成されます。そのため、このパス名が絶対の場合、結果として得られる各パス名は絶対です。このパス名が相対の場合、結果として得られる各パス名は同じディレクトリに対して相対です。
File(File, String)
結果として得られる配列の名前文字列は特定の順序にはなりません。アルファベット順になるわけではありません。
null
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがディレクトリへの読み取りアクセスを許可しないときpublic File[] listFiles(FilenameFilter filter)
listFiles() メソッドと同じです。指定された filter が null の場合、すべてのパス名が受け入れられます。そうでない場合、パス名がフィルタの基準を満たすのは、フィルタの FilenameFilter.accept(java.io.File, java.lang.String) メソッドが、この抽象パス名およびそれが示すディレクトリ内のファイルまたはディレクトリの名前で呼び出されたときに true が返される場合だけです。
filter - ファイル名フィルタ
null
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがディレクトリへの読み取りアクセスを許可しないときpublic File[] listFiles(FileFilter filter)
listFiles() メソッドと同じですが、返された配列内のパス名はフィルタの基準を満たす必要があります。指定された filter が null の場合、すべてのパス名が受け入れられます。そうでない場合、パス名がフィルタの基準を満たすのは、このフィルタの FileFilter.accept(java.io.File) メソッドがパス名で呼び出されたときに true の値が返される場合だけです。
filter - ファイルフィルタ
null
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドがディレクトリへの読み取りアクセスを許可しないときpublic boolean mkdir()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドが指定されたディレクトリの生成を許可しないときpublic boolean mkdirs()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkRead(java.lang.String) メソッドが指定されたディレクトリおよび必要なすべての親ディレクトリの存在検証を許可しないとき、または SecurityManager.checkWrite(java.lang.String) メソッドが指定されたディレクトリおよび必要なすべての親ディレクトリの生成を許可しないときpublic boolean renameTo(File dest)
このメソッドの動作の多くの部分は、本質的にプラットフォーム依存です。名前の変更操作では、ファイルをファイルシステム間で移動できないことがあります。この操作は不可分でないことがあります。また、移動先の抽象パス名を持つファイルがすでに存在する場合は、この操作が成功しない可能性があります。名前の変更操作が成功したことを確認するために、常に戻り値を調べるようにしてください。
dest - 指定されたファイルの新しい抽象パス名
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドが古いパス名と新しいパス名のいずれかへの書き込みアクセスを許可しないとき
NullPointerException - パラメータ dest が null の場合public boolean setLastModified(long time)
すべてのプラットフォームは、秒単位に丸められたファイル変更時刻をサポートしますが、中にはもっと高い精度をサポートするものもあります。引数は、サポートされている精度に合わせて切り詰められます。操作が成功し、割り込む操作がファイル上で発生しない場合、 メソッドの次の呼び出しはこのメソッドに渡された lastModified()time 引数 (切り詰められた場合がある) を返します。
time - 最新に変更された時刻。エポック (1970 年 1 月 1 日 0 時 0 分 0 秒、グリニッジ標準時) からミリ秒単位で測定
true、そうでない場合は false
IllegalArgumentException - 引数が負の値の場合
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドが指定されたファイルへの書き込みアクセスを許可しないときpublic boolean setReadOnly()
true、そうでない場合は false
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドが指定されたファイルへの書き込みアクセスを許可しないとき
public boolean setWritable(boolean writable,
boolean ownerOnly)
writable - true の場合は、書き込み操作を許可するようにアクセス権を設定し、false の場合は、書き込み操作を許可しないように設定するownerOnly - true の場合、書き込み権は所有者の書き込み権だけに適用され、そうでない場合は、全員に適用される。
基本となるファイルシステムで所有者とそれ以外の書き込み権を区別できない場合は、この値に関係なく、アクセス権は全員に適用される
true。ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗する
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドが指定されたファイルへの書き込みアクセスを許可しないときpublic boolean setWritable(boolean writable)
このメソッドを file.setWritable(arg) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。
file.setWritable(arg, true)
writable - true の場合は、書き込み操作を許可するようにアクセス権を設定し、false の場合は、書き込み操作を許可しないように設定する
true。ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗する
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルへの書き込みアクセスを許可しないとき
public boolean setReadable(boolean readable,
boolean ownerOnly)
readable - true の場合は、読み取り操作を許可するようにアクセス権を設定し、false の場合は、読み取り操作を許可しないownerOnly - true の場合、読み取り権は所有者の読み取り権だけに適用され、そうでない場合は、全員に適用される。
基本となるファイルシステムで所有者とそれ以外の読み取り権を区別できない場合、この値に関係なく、アクセス権は全員に適用される
true。ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗するreadable が false で、基本となるファイルシステムが読み取り権を実装していない場合、操作は失敗する
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルへの書き込みアクセスを許可しないときpublic boolean setReadable(boolean readable)
このメソッドを file.setReadable(arg) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。
file.setReadable(arg, true)
readable - true の場合は、読み取り操作を許可するようにアクセス権を設定し、false の場合は、読み取り操作を許可しない
true。ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗するreadable が false で、基本となるファイルシステムが読み取り権を実装していない場合、操作は失敗する
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルへの書き込みアクセスを許可しないとき
public boolean setExecutable(boolean executable,
boolean ownerOnly)
executable - true の場合は、実行操作を許可するようにアクセス権を設定し、false の場合は、実行操作を許可しないownerOnly - true の場合、実行権は所有者の実行権だけに適用され、そうでない場合は、全員に適用される。
基本となるファイルシステムで所有者とそれ以外の実行権を区別できない場合は、この値に関係なく、アクセス権は全員に適用される
true。ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗するexecutable が false で、基本となるファイルシステムが実行権を実装していない場合、操作は失敗する
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルへの書き込みアクセスを許可しないときpublic boolean setExecutable(boolean executable)
このメソッドを file.setExcutable(arg) の形式で呼び出した場合、次の呼び出しと同じ結果が得られます。
file.setExecutable(arg, true)
executable - true の場合は、実行操作を許可するようにアクセス権を設定し、false の場合は、実行操作を許可しない
true。ユーザーがこの抽象パス名のアクセス権を変更するアクセス権を持たない場合、操作は失敗するexecutable が false で、基本となるファイルシステムが実行権を実装していない場合、操作は失敗する
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルへの書き込みアクセスを許可しないときpublic boolean canExecute()
true
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkExec(java.lang.String) メソッドがファイルへの実行アクセスを許可しないときpublic static File[] listRoots()
特定の Java プラットフォームは、ゼロまたは 1 つ以上の階層的に編成されたファイルシステムをサポートします。各ファイルシステムには、そのファイルシステムのほかのすべてのファイルに到達できる root ディレクトリがあります。たとえば Windows プラットフォームには、アクティブなドライブごとにルートディレクトリがあります。UNIX プラットフォームのルートディレクトリは、"/" の 1 つだけです。一連の有効なファイルシステムのルートは、リムーバブルメディアの挿入と取り出し、および物理ディスクドライブまたは仮想ディスクドライブの切断またはアンマウントなどの、さまざまなシステムレベルの操作に影響を受けます。
このメソッドは、有効なファイルシステムのルートのルートディレクトリを示す File オブジェクトの配列を返します。ローカルマシンに物理的に存在するファイルの正規のパス名は、必ずこのメソッドで返されるルートから始まります。
ほかのマシンに存在し、リモートファイルシステムプロトコル (SMB または NFS など) を介してアクセスできるファイルの正規のパス名は、このメソッドで返されたルートから始まっても、始まらなくてもかまいません。リモートファイルのパス名がローカルファイルのパス名と構文上区別できない場合、それはこのメソッドで返されたルートから始まります。このため、たとえば Windows プラットフォームのマッピングされたネットワークドライブのルートディレクトリを示す File オブジェクトはこのメソッドで返されますが、UNC パス名を含む File オブジェクトはこのメソッドで返されません。
このクラスのほとんどのメソッドと違い、このメソッドはセキュリティー例外をスローしません。セキュリティーマネージャーが存在し、 メソッドが特定のルートディレクトリへの読み取りアクセスを拒否する場合、そのディレクトリは結果に現れません。
SecurityManager.checkRead(java.lang.String)
File オブジェクトの配列。一連のルートが判別できない場合は null。配列は、ファイルシステムのルートがない場合は空になるpublic long getTotalSpace()
SecurityException - セキュリティーマネージャーがインストールされている場合に、RuntimePermission("getFileSystemAttributes") を許可しないとき、または SecurityManager.checkRead(String) メソッドがこの抽象パス名で指定されるファイルへの読み取りアクセスを許可しないときpublic long getFreeSpace()
返される未割り当てのバイト数は、1 つの手掛かりであり、保証を示すものではありません。これらのバイトのほとんどまたは一部を使用できる可能性を示しています。未割り当てのバイト数は、この呼び出しの直後は正確である可能性がもっとも高く、外部の入出力操作 (この仮想マシンの外部のシステムで行われる入出力操作を含む) によって不正確になります。このメソッドによって、このファイルシステムへの書き込み操作が成功する保証はありません。
getTotalSpace() で返されるファイルシステムの合計サイズ以下
SecurityException - セキュリティーマネージャーがインストールされている場合に、RuntimePermission("getFileSystemAttributes") を許可しないとき、または SecurityManager.checkRead(String) メソッドがこの抽象パス名で指定されるファイルへの読み取りアクセスを許可しないときpublic long getUsableSpace()
getFreeSpace() を実行した場合よりも正確な推定量を返します。
返される利用可能なバイト数は、確かなものではなく単なる手掛かりであり、これらのバイトのほとんどまたは一部を使用できます。未割り当てのバイト数は、この呼び出しの直後は正確である可能性がもっとも高く、外部の入出力操作 (この仮想マシンの外部のシステムで行われる入出力操作を含む) によって不正確になります。このメソッドによって、このファイルシステムへの書き込み操作が成功する保証はありません。
getFreeSpace() を呼び出すことと同じである
SecurityException - セキュリティーマネージャーがインストールされている場合に、RuntimePermission("getFileSystemAttributes") を許可しないとき、または SecurityManager.checkRead(String) メソッドがこの抽象パス名で指定されるファイルへの読み取りアクセスを許可しないとき
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) メソッドがファイルの生成を許可しないとき
public static File createTempFile(String prefix,
String suffix)
throws IOException
createTempFile(prefix, suffix, null) を呼び出すのと同じです。
prefix - ファイル名を生成するために使用される接頭辞文字列。3 文字以上の長さが必要であるsuffix - ファイル名を生成するために使用される接尾辞文字列。null も指定でき、その場合は、接尾辞 ".tmp" が使用される
IllegalArgumentException - prefix 引数が 3 文字に満たない場合
IOException - ファイルが生成できなかった場合
SecurityException - セキュリティーマネージャーが存在する場合に、セキュリティーマネージャーの SecurityManager.checkWrite(java.lang.String) メソッドがファイルの生成を許可しないときpublic int compareTo(File pathname)
Comparable<File> 内の compareTopathname - この抽象パス名と比較される抽象パス名
public boolean equals(Object obj)
null ではなく、この抽象パス名と同じファイルまたはディレクトリを示す抽象パス名である場合にだけ true を返します。2 つの抽象パス名が等しいかどうかは基本となるシステムに依存します。UNIX システムの場合、アルファベットの大文字と小文字がパス名の比較で意味を持ちます。Microsoft Windows システムでは意味を持ちません。
Object 内の equalsobj - この抽象パス名と比較されるオブジェクト
true、そうでない場合は falseObject.hashCode(),
Hashtablepublic int hashCode()
1234321 の排他的論理和と等しくなります。Microsoft Windows システムの場合、ハッシュコードは、そのパス名文字列 (小文字に変換されたもの) のハッシュコードと 10 進数値 1234321 の排他的論理和と等しくなります。パス名文字列を小文字に変換する際、ロケールは考慮されません。
Object 内の hashCodeObject.equals(java.lang.Object),
Hashtablepublic String toString()
getPath() メソッドで返された文字列です。
Object 内の toString
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。