ほとんどの場合、ここで定義されているメソッドは関連付けられたファイル・システム・プロバイダにファイル操作の実行を委譲します。
- 導入されたバージョン:
- 1.7
-
メソッドのサマリー
修飾子と型メソッド説明static long
copy
(InputStream in, Path target, CopyOption... options) すべてのバイトを入力ストリームからファイルにコピーします。static long
copy
(Path source, OutputStream out) すべてのバイトをファイルから出力ストリームにコピーします。static Path
copy
(Path source, Path target, CopyOption... options) ファイルをターゲット・ファイルにコピーします。static Path
createDirectories
(Path dir, FileAttribute<?>... attrs) 存在しないすべての親ディレクトリをまず作成することで、ディレクトリを作成します。static Path
createDirectory
(Path dir, FileAttribute<?>... attrs) 新しいディレクトリを作成します。static Path
createFile
(Path path, FileAttribute<?>... attrs) 新しい空のファイルを作成し、ファイルがすでに存在する場合は失敗します。static Path
createLink
(Path link, Path existing) 既存のファイルに対して新しいリンク(ディレクトリ・エントリ)を作成します(オプションの操作)。static Path
createSymbolicLink
(Path link, Path target, FileAttribute<?>... attrs) ターゲットへのシンボリック・リンクを作成します(オプションの操作)。static Path
createTempDirectory
(String prefix, FileAttribute<?>... attrs) デフォルトの一時ファイル・ディレクトリで新しいディレクトリを生成し、その名前には、指定された接頭辞が使用されます。static Path
createTempDirectory
(Path dir, String prefix, FileAttribute<?>... attrs) 指定されたディレクトリで新しいディレクトリを生成し、その名前には、指定された接頭辞が使用されます。static Path
createTempFile
(String prefix, String suffix, FileAttribute<?>... attrs) 指定された接頭辞と接尾辞をファイル名の生成に使用して、デフォルトの一時ファイル・ディレクトリに空のファイルを生成します。static Path
createTempFile
(Path dir, String prefix, String suffix, FileAttribute<?>... attrs) 指定されたディレクトリで新しい空のファイルを生成し、その名前には、指定された接頭辞および接尾辞の文字列が使用されます。static void
ファイルを削除します。static boolean
deleteIfExists
(Path path) ファイルが存在する場合は削除します。static boolean
exists
(Path path, LinkOption... options) ファイルが存在するかどうかをテストします。find
(Path start, int maxDepth, BiPredicate<Path, BasicFileAttributes> matcher, FileVisitOption... options) 指定された開始ファイルをルートとするファイル・ツリー内でファイルを検索することでPath
が遅延設定されるStream
を返します。static Object
getAttribute
(Path path, String attribute, LinkOption... options) ファイル属性の値を読み取ります。static <V extends FileAttributeView>
VgetFileAttributeView
(Path path, Class<V> type, LinkOption... options) 指定されたタイプのファイル属性ビューを返します。static FileStore
getFileStore
(Path path) ファイルが置かれているファイル・ストアを表すFileStore
を返します。static FileTime
getLastModifiedTime
(Path path, LinkOption... options) ファイルの最終変更時間を返します。static UserPrincipal
getOwner
(Path path, LinkOption... options) ファイルの所有者を返します。static Set
<PosixFilePermission> getPosixFilePermissions
(Path path, LinkOption... options) ファイルのPOSIXファイル・アクセス権を返します。static boolean
isDirectory
(Path path, LinkOption... options) ファイルがディレクトリかどうかをテストします。static boolean
isExecutable
(Path path) ファイルが実行可能かどうかをテストします。static boolean
ファイルが隠しファイルとみなされるかどうかを判断します。static boolean
isReadable
(Path path) ファイルが読取り可能かどうかをテストします。static boolean
isRegularFile
(Path path, LinkOption... options) ファイルが不透明な内容の通常ファイルかどうかをテストします。static boolean
isSameFile
(Path path, Path path2) 2つのパスが同じファイルを検出するかどうかを判断します。static boolean
isSymbolicLink
(Path path) ファイルがシンボリック・リンクかどうかをテストします。static boolean
isWritable
(Path path) ファイルが書込み可能かどうかをテストします。ファイル内のすべての行をStream
として読み取ります。ファイル内のすべての行をStream
として読み取ります。ディレクトリ内のエントリを要素に持つ遅延設定Stream
を返します。static long
2つのファイルのコンテンツ内で、最初の不一致バイトの位置を検索して返します。不一致がない場合は、-1L
。static Path
move
(Path source, Path target, CopyOption... options) ファイルをターゲット・ファイルに移動するか、そのファイル名を変更します。static BufferedReader
newBufferedReader
(Path path) ファイルを読込み用に開き、効率的な方法でファイルからテキストを読み込むBufferedReader
を返します。static BufferedReader
newBufferedReader
(Path path, Charset cs) ファイルを読取り用に開き、そのファイルから効果的な方法でテキストを読み取るために使用できるBufferedReader
を返します。static BufferedWriter
newBufferedWriter
(Path path, Charset cs, OpenOption... options) ファイルを書込み用に開くか作成して、そのファイルに効果的な方法でテキストを書き込むために使用できるBufferedWriter
を返します。static BufferedWriter
newBufferedWriter
(Path path, OpenOption... options) ファイルを書込み用に開くか作成し、効率的な方法でファイルにテキストを書き込むBufferedWriter
を返します。static SeekableByteChannel
newByteChannel
(Path path, OpenOption... options) ファイルを開くか作成し、そのファイルにアクセスするためのシーク可能なバイト・チャネルを返します。static SeekableByteChannel
newByteChannel
(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) ファイルを開くか作成し、そのファイルにアクセスするためのシーク可能なバイト・チャネルを返します。static DirectoryStream
<Path> newDirectoryStream
(Path dir) ディレクトリを開き、ディレクトリ内のすべてのエントリを反復するためのDirectoryStream
を返します。static DirectoryStream
<Path> newDirectoryStream
(Path dir, String glob) ディレクトリを開き、そのディレクトリ内のエントリに対して反復処理を行うDirectoryStream
を返します。static DirectoryStream
<Path> newDirectoryStream
(Path dir, DirectoryStream.Filter<? super Path> filter) ディレクトリを開き、そのディレクトリ内のエントリに対して反復処理を行うDirectoryStream
を返します。static InputStream
newInputStream
(Path path, OpenOption... options) ファイルを開き、そのファイルから読み取る入力ストリームを返します。static OutputStream
newOutputStream
(Path path, OpenOption... options) ファイルを開くか作成して、そのファイルにバイトを書き込むために使用できる出力ストリームを返します。static boolean
notExists
(Path path, LinkOption... options) このパスが示すファイルが存在しないかどうかをテストします。static String
probeContentType
(Path path) ファイルのコンテンツ・タイプを調べます。static byte[]
readAllBytes
(Path path) ファイルからすべてのバイトを読み取ります。readAllLines
(Path path) ファイルからすべての行を読み取ります。readAllLines
(Path path, Charset cs) ファイルからすべての行を読み取ります。static <A extends BasicFileAttributes>
AreadAttributes
(Path path, Class<A> type, LinkOption... options) 一括操作としてファイル属性を読み取ります。readAttributes
(Path path, String attributes, LinkOption... options) 一括操作として一連のファイル属性を読み取ります。static String
readString
(Path path) static String
readString
(Path path, Charset cs) ファイルのすべての文字を文字列に読み込み、指定されたcharsetを使用してバイトから文字にデコードします。static Path
readSymbolicLink
(Path link) シンボリック・リンクのターゲットを読み取ります(オプションの操作)。static Path
setAttribute
(Path path, String attribute, Object value, LinkOption... options) ファイル属性の値を設定します。static Path
setLastModifiedTime
(Path path, FileTime time) ファイルの最終変更時間属性を更新します。static Path
setOwner
(Path path, UserPrincipal owner) ファイル所有者を更新します。static Path
setPosixFilePermissions
(Path path, Set<PosixFilePermission> perms) ファイルのPOSIXファイル・アクセス権を設定します。static long
ファイルのサイズをバイトで返します。walk
(Path start, int maxDepth, FileVisitOption... options) 指定された開始ファイルをルートとするファイル・ツリーを参照することでPath
が遅延移入されるStream
を返します。walk
(Path start, FileVisitOption... options) 指定された開始ファイルをルートとするファイル・ツリーを参照することでPath
が遅延移入されるStream
を返します。static Path
walkFileTree
(Path start, FileVisitor<? super Path> visitor) ファイル・ツリーを参照します。static Path
walkFileTree
(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor) ファイル・ツリーを参照します。static Path
write
(Path path, byte[] bytes, OpenOption... options) バイトをファイルに書き込みます。static Path
write
(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options) テキスト行をファイルに書き込みます。static Path
write
(Path path, Iterable<? extends CharSequence> lines, OpenOption... options) テキスト行をファイルに書き込みます。static Path
writeString
(Path path, CharSequence csq, Charset cs, OpenOption... options) CharSequenceをファイルに書き込みます。static Path
writeString
(Path path, CharSequence csq, OpenOption... options) CharSequenceをファイルに書き込みます。
-
メソッドの詳細
-
newInputStream
public static InputStream newInputStream(Path path, OpenOption... options) throws IOException ファイルを開き、そのファイルから読み取る入力ストリームを返します。 そのストリームはバッファに入れられないため、mark
またはreset
メソッドをサポートしている必要はありません。 ストリームは複数の並行スレッドからのアクセスに対して安全です。 読取りはファイルの最初から始まります。 返されるストリームが非同期クローズ可能または割込み可能、あるいはその両方かどうかは、ファイル・システム・プロバイダによって大きく異なるため、未指定です。options
パラメータはファイルを開く方法を決定します。 オプションが1つも存在しない場合、それはREAD
オプションでファイルを開くことと同等です。 実装では、READ
オプションのほかに、追加の実装固有のオプションをサポートすることもあります。- パラメータ:
path
- 開くファイルへのパスoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- 新しい入力ストリーム
- 例外:
IllegalArgumentException
- オプションの無効な組み合わせが指定された場合UnsupportedOperationException
- 未サポートのオプションが指定された場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
-
newOutputStream
public static OutputStream newOutputStream(Path path, OpenOption... options) throws IOException ファイルを開くか作成して、そのファイルにバイトを書き込むために使用できる出力ストリームを返します。 結果となるストリームはバッファに入れられません。 ストリームは複数の並行スレッドからのアクセスに対して安全です。 返されるストリームが非同期クローズ可能または割込み可能、あるいはその両方かどうかは、ファイル・システム・プロバイダによって大きく異なるため、未指定です。このメソッドは、オプションの配列に
READ
オプションが含まれない可能性があることを除いては、newByteChannel
メソッドで指定されたとおりにファイルを開くか作成します。 オプションがない場合、このメソッドはCREATE
、TRUNCATE_EXISTING
、およびWRITE
オプションがあるかのように機能します。 つまり、書込み用にファイルを開きます(存在しない場合は作成し、存在する場合は最初に既存の通常ファイル
をサイズ0
に切り詰めます)。使用例:
Path path = ... // truncate and overwrite an existing file, or create the file if // it doesn't initially exist OutputStream out = Files.newOutputStream(path); // append to an existing file, fail if the file does not exist out = Files.newOutputStream(path, APPEND); // append to an existing file, create file if it doesn't initially exist out = Files.newOutputStream(path, CREATE, APPEND); // always create new file, failing if it already exists out = Files.newOutputStream(path, CREATE_NEW);
- パラメータ:
path
- 開くまたは作成するファイルへのパスoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- 新しい出力ストリーム
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合UnsupportedOperationException
- 未サポートのオプションが指定された場合FileAlreadyExistsException
- その名前のファイルがすでに存在し、CREATE_NEW
オプションが指定されている場合、(optional specific exception)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。
-
newByteChannel
public static SeekableByteChannel newByteChannel(Path path, Set<? extends OpenOption> options, FileAttribute<?>... attrs) throws IOException ファイルを開くか作成し、そのファイルにアクセスするためのシーク可能なバイト・チャネルを返します。options
パラメータはファイルを開く方法を決定します。READ
とWRITE
オプションにより、ファイルを読み取りまたは書込みで開くべきかどうかが決定されます。 いずれのオプション(またはAPPEND
オプション)も存在しない場合、ファイルは読取り用に開かれます。 デフォルトでは、読み取りまたは書込みはファイルの先頭から始まります。READ
およびWRITE
以外に、次のオプションが存在する場合があります。オプション 説明 APPEND
このオプションが存在する場合は、ファイルは書込みのために開かれ、チャネルの write
メソッドの各呼出しは、まず位置をファイルの終わりに進めてから要求されたデータを書き込みます。 このような位置の移動とデータの書込みは、不可分な単一の操作として行われます。この操作は、システムに依存しているため未指定です。 このオプションは、READ
またはTRUNCATE_EXISTING
オプションと同時には使用できません。TRUNCATE_EXISTING
このオプションが存在する場合は、既存のファイルはサイズが0バイトに切り詰められます。 このオプションは、ファイルを読取り専用に開いた場合は無視されます。 CREATE_NEW
このオプションが存在する場合は、新しいファイルが作成され、ファイルがすでに存在するか、シンボリック・リンクである場合は失敗します。 ファイルの作成時に、ファイルがあるかどうかのチェックや、ない場合のファイルの生成は、ほかのファイル・システムの操作に対して原子的です。 このオプションは、ファイルを読取り専用に開いた場合は無視されます。 CREATE
このオプションが存在する場合は、既存のファイルが存在する場合はそれが開かれ、そうでない場合は新しいファイルが作成されます。 このオプションは、 CREATE_NEW
オプションも存在する場合またはファイルを読取り専用に開いた場合は無視されます。DELETE_ON_CLOSE
このオプションが存在する場合、実装は、ファイルが close
メソッドによって閉じられるときに、ベスト・エフォートでファイルを削除しようとします。close
メソッドが呼び出されない場合、Java仮想マシンの終了時にファイルを削除するためのベスト・エフォートの試みが行われます。SPARSE
新しいファイルの作成時に、このオプションは新しいファイルがスパースであることのヒントになります。 このオプションは、新しいファイルを作成しない場合は無視されます。 SYNC
ファイルの内容またはメタデータの更新は、基本となる記憶装置に同期的に書き込まれることを必要とします。(「同期入出力ファイル整合性」を参照)。 DSYNC
ファイルの内容の更新は、基本となる記憶装置に同期的に書き込まれることを必要とします。(「同期入出力ファイル整合性」を参照)。 実装では、追加の実装固有のオプションをサポートすることもあります。
attrs
パラメータは、新しいファイルの作成時に原子的に設定するオプションのファイル属性
です。デフォルト・プロバイダの場合、返されるシーク可能なバイト・チャネルは
FileChannel
です。使用例:
Path path = ... // open file for reading ReadableByteChannel rbc = Files.newByteChannel(path, EnumSet.of(READ))); // open file for writing to the end of an existing file, creating // the file if it doesn't already exist WritableByteChannel wbc = Files.newByteChannel(path, EnumSet.of(CREATE,APPEND)); // create file with initial permissions, opening it for both reading and writing FileAttribute<Set<PosixFilePermission>> perms = ... SeekableByteChannel sbc = Files.newByteChannel(path, EnumSet.of(CREATE_NEW,READ,WRITE), perms);
- パラメータ:
path
- 開くまたは作成するファイルへのパスoptions
- ファイルを開く方法を指定するオプションattrs
- ファイルの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- 新しいシーク可能なバイト・チャネル
- 例外:
IllegalArgumentException
- セットにオプションの無効な組み合わせが含まれる場合UnsupportedOperationException
- 未サポートのオープン・オプションが指定された場合またはファイルの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
- その名前のファイルがすでに存在し、CREATE_NEW
オプションが指定され、そのファイルが「(optional specific exception)の書き込みのために開かれている場合」IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、ファイルが読取り用に開かれるとcheckRead
メソッドが呼び出されてパスへの読取りアクセスがチェックされます。 ファイルが書込み用に開かれた場合は、checkWrite
メソッドが呼び出されてパスへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。- 関連項目:
-
newByteChannel
public static SeekableByteChannel newByteChannel(Path path, OpenOption... options) throws IOException ファイルを開くか作成し、そのファイルにアクセスするためのシーク可能なバイト・チャネルを返します。このメソッドは、
newByteChannel
メソッドで指定されたとおりにファイルを開くか作成します。- パラメータ:
path
- 開くまたは作成するファイルへのパスoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- 新しいシーク可能なバイト・チャネル
- 例外:
IllegalArgumentException
- セットにオプションの無効な組み合わせが含まれる場合UnsupportedOperationException
- サポートされていないオープン・オプションが指定された場合FileAlreadyExistsException
- その名前のファイルがすでに存在し、CREATE_NEW
オプションが指定され、そのファイルが「(optional specific exception)の書き込みのために開かれている場合」IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、ファイルが読取り用に開かれるとcheckRead
メソッドが呼び出されてパスへの読取りアクセスがチェックされます。 ファイルが書込み用に開かれた場合は、checkWrite
メソッドが呼び出されてパスへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。- 関連項目:
-
newDirectoryStream
public static DirectoryStream<Path> newDirectoryStream(Path dir) throws IOException ディレクトリを開き、ディレクトリ内のすべてのエントリを反復するためのDirectoryStream
を返します。 ディレクトリ・ストリームのiterator
によって返される要素は、Path
型で、それぞれがディレクトリ内のエントリを表します。Path
オブジェクトは、dir
に対してディレクトリ・エントリの名前を解決
したかのように取得されます。try-with-resources構文を使用しない場合は、ディレクトリ・ストリームの
close
メソッドは、開いているディレクトリのために保持されているリソースを解放するために、反復が完了したあとに呼び出されるべきです。ディレクトリ内のエントリに対して競合のない方法で実行する操作を実装がサポートする場合は、返されるディレクトリ・ストリームは
SecureDirectoryStream
です。- パラメータ:
dir
- ディレクトリへのパス- 戻り値:
- 新しく開かれた
DirectoryStream
オブジェクト - 例外:
NotDirectoryException
- ファイルがディレクトリではないために開けなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。
-
newDirectoryStream
public static DirectoryStream<Path> newDirectoryStream(Path dir, String glob) throws IOException ディレクトリを開き、そのディレクトリ内のエントリに対して反復処理を行うDirectoryStream
を返します。 ディレクトリ・ストリームのiterator
によって返される要素は、Path
型で、それぞれがディレクトリ内のエントリを表します。Path
オブジェクトは、dir
に対してディレクトリ・エントリの名前を解決
したかのように取得されます。 イテレータによって返されるエントリは、そのファイル名のString
表現を指定されたグロッビング・パターンと照合することでフィルタ処理されます。たとえば、ディレクトリ内の「.java」で終わるファイルすべてについて反復処理を行うとします。
Path dir = ... try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, "*.java")) { : }
グロッビング・パターンは、
getPathMatcher
メソッドによって指定されます。try-with-resources構文を使用しない場合は、ディレクトリ・ストリームの
close
メソッドは、開いているディレクトリのために保持されているリソースを解放するために、反復が完了したあとに呼び出されるべきです。ディレクトリ内のエントリに対して競合のない方法で実行する操作を実装がサポートする場合は、返されるディレクトリ・ストリームは
SecureDirectoryStream
です。- パラメータ:
dir
- ディレクトリへのパスglob
- globパターン- 戻り値:
- 新しく開かれた
DirectoryStream
オブジェクト - 例外:
PatternSyntaxException
- パターンが無効な場合NotDirectoryException
- ファイルがディレクトリではないために開けなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。
-
newDirectoryStream
public static DirectoryStream<Path> newDirectoryStream(Path dir, DirectoryStream.Filter<? super Path> filter) throws IOException ディレクトリを開き、そのディレクトリ内のエントリに対して反復処理を行うDirectoryStream
を返します。 ディレクトリ・ストリームのiterator
によって返される要素は、Path
型で、それぞれがディレクトリ内のエントリを表します。Path
オブジェクトは、dir
に対してディレクトリ・エントリの名前を解決
したかのように取得されます。 イテレータによって返されるエントリは、指定されたフィルタ
によってフィルタ処理されます。try-with-resources構文を使用しない場合は、ディレクトリ・ストリームの
close
メソッドは、開いているディレクトリのために保持されているリソースを解放するために、反復が完了したあとに呼び出されるべきです。キャッチされないエラーまたは実行時例外のためにフィルタが終了した場合は、
hasNext
またはnext
メソッドにそれが通知されます。IOException
がスローされると、hasNext
またはnext
メソッドによって、IOException
が原因でDirectoryIteratorException
がスローされます。ディレクトリ内のエントリに対して競合のない方法で実行する操作を実装がサポートする場合は、返されるディレクトリ・ストリームは
SecureDirectoryStream
です。使用例: ディレクトリ内の8Kよりも大きいファイルすべてについて反復処理を行うとします。
DirectoryStream.Filter<Path> filter = new DirectoryStream.Filter<Path>() { public boolean accept(Path file) throws IOException { return (Files.size(file) > 8192L); } }; Path dir = ... try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir, filter)) { : }
- パラメータ:
dir
- ディレクトリへのパスfilter
- ディレクトリ・ストリーム・フィルタ- 戻り値:
- 新しく開かれた
DirectoryStream
オブジェクト - 例外:
NotDirectoryException
- ファイルがディレクトリではないために開けなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。
-
createFile
public static Path createFile(Path path, FileAttribute<?>... attrs) throws IOException 新しい空のファイルを作成し、ファイルがすでに存在する場合は失敗します。 ファイルがあるかどうかのチェックや、ない場合の新しいファイルの作成は、そのディレクトリに影響を与える可能性のあるほかのすべてのファイル・システム・アクティビティに対して原子的である単一の操作です。attrs
パラメータは、ファイルの作成時に原子的に設定するオプションのファイル属性
です。 各属性はそのname
で識別されます。 配列に同じ名前の属性が複数含まれる場合は、最後のもの以外はすべて無視されます。- パラメータ:
path
- 作成するファイルへのパスattrs
- ファイルの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- ファイル
- 例外:
UnsupportedOperationException
- ファイルの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
- その名前のファイルがすでに存在する場合は、(optional specific exception)IOException
- 入出力エラーが発生した場合または親ディレクトリが存在しない場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されて新しいファイルへの書込みアクセスがチェックされます。
-
createDirectory
public static Path createDirectory(Path dir, FileAttribute<?>... attrs) throws IOException 新しいディレクトリを作成します。 ファイルがあるかどうかのチェックや、ない場合のディレクトリの作成は、そのディレクトリに影響を与える可能性のあるほかのすべてのファイル・システム・アクティビティに対して原子的である単一の操作です。 存在しないすべての親ディレクトリを最初に作成する必要がある場合は、createDirectories
メソッドを使用するようにしてください。attrs
パラメータは、ディレクトリの作成時に原子的に設定するオプションのファイル属性
です。 各属性はそのname
で識別されます。 配列に同じ名前の属性が複数含まれる場合は、最後のもの以外はすべて無視されます。- パラメータ:
dir
- 作成するディレクトリattrs
- ディレクトリの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- ディレクトリ
- 例外:
UnsupportedOperationException
- ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
- その名前のファイルがすでに存在するためにディレクトリを作成できなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合または親ディレクトリが存在しない場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されて新しいディレクトリへの書込みアクセスがチェックされます。
-
createDirectories
public static Path createDirectories(Path dir, FileAttribute<?>... attrs) throws IOException 存在しないすべての親ディレクトリをまず作成することで、ディレクトリを作成します。createDirectory
メソッドとは異なり、ディレクトリがすでに存在しているために作成できなかった場合でも例外はスローされません。attrs
パラメータは、存在しないディレクトリの作成時に原子的に設定するオプションのファイル属性
です。 各ファイル属性はそのname
で識別されます。 配列に同じ名前の属性が複数含まれる場合は、最後のもの以外はすべて無視されます。このメソッドが失敗する場合は、親ディレクトリの一部(すべてではない)を作成したあとにそうなることがあります。
- パラメータ:
dir
- 作成するディレクトリattrs
- ディレクトリの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- ディレクトリ
- 例外:
UnsupportedOperationException
- ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
-dir
が存在するが、ディレクトリではない場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、ディレクトリの作成を試みる前にcheckWrite
メソッドが呼び出され、チェックされる親ディレクトリごとに、そのcheckRead
メソッドが呼び出されます。dir
が絶対パスでない場合は、そのtoAbsolutePath
を呼び出してその絶対パスを取得することが必要になることがあります。 これによって、セキュリティ・マネージャのcheckPropertyAccess
メソッドが呼び出されて、システム・プロパティuser.dir
へのアクセスがチェックされることがあります。
-
createTempFile
public static Path createTempFile(Path dir, String prefix, String suffix, FileAttribute<?>... attrs) throws IOException 指定されたディレクトリで新しい空のファイルを生成し、その名前には、指定された接頭辞および接尾辞の文字列が使用されます。 結果のPath
は指定されたディレクトリと同じFileSystem
に関連付けられます。ファイル名の生成方法に関する詳細は、実装に依存しているため、特定できません。 可能な場合は、
prefix
およびsuffix
を使用して、File.createTempFile(String,String,File)
メソッドと同じ方法で候補の名前が生成されます。File.createTempFile
メソッドと同様に、このメソッドは一時ファイル機能の一部に過ぎません。 「作業ファイル」として使用される場合は、適切なclose
メソッドが呼び出されたときにファイルが削除されるように、DELETE_ON_CLOSE
オプションを使用して結果ファイルを開くことができます。 あるいは、shutdown-hook
、またはFile.deleteOnExit()
メカニズムを使用してファイルを自動的に削除することもできます。attrs
パラメータは、ファイルの作成時に原子的に設定するオプションのファイル属性
です。 各属性はそのname
で識別されます。 配列に同じ名前の属性が複数含まれる場合は、最後のもの以外はすべて無視されます。 ファイル属性が1つも指定されない場合、結果となるファイルはFile.createTempFile(String,String,File)
メソッドで作成されたファイルよりアクセス権が制限されることがあります。- パラメータ:
dir
- ファイルが作成されるディレクトリへのパスprefix
- ファイル名を生成するために使用される接頭辞文字列。null
も可能ですsuffix
- ファイル名を生成するために使用される接尾辞文字列。null
も指定でき、その場合は、接尾辞".tmp
"が使用されます。attrs
- ファイルの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- このメソッドの呼出し前には存在しなかった、新しく作成されたファイルへのパス
- 例外:
IllegalArgumentException
- 候補のファイル名を生成するためにprefixまたはsuffixパラメータを使用できない場合UnsupportedOperationException
- ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合IOException
- 入出力エラーが発生した場合またはdir
が存在しない場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。
-
createTempFile
public static Path createTempFile(String prefix, String suffix, FileAttribute<?>... attrs) throws IOException 指定された接頭辞と接尾辞をファイル名の生成に使用して、デフォルトの一時ファイル・ディレクトリに空のファイルを生成します。 結果のPath
はデフォルトのFileSystem
に関連付けられています。このメソッドは、
dir
パラメータが一時ファイル・ディレクトリの場合は、createTempFile(Path,String,String,FileAttribute[])
メソッドによって指定されたとおりに機能します。- パラメータ:
prefix
- ファイル名を生成するために使用される接頭辞文字列。null
も可能ですsuffix
- ファイル名を生成するために使用される接尾辞文字列。null
も指定でき、その場合は、接尾辞".tmp
"が使用されます。attrs
- ファイルの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- このメソッドの呼出し前には存在しなかった、新しく作成されたファイルへのパス
- 例外:
IllegalArgumentException
- 候補のファイル名を生成するためにprefixまたはsuffixパラメータを使用できない場合UnsupportedOperationException
- ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合IOException
- 入出力エラーが発生した場合または一時ファイル・ディレクトリが存在しない場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。
-
createTempDirectory
public static Path createTempDirectory(Path dir, String prefix, FileAttribute<?>... attrs) throws IOException 指定されたディレクトリで新しいディレクトリを生成し、その名前には、指定された接頭辞が使用されます。 結果のPath
は指定されたディレクトリと同じFileSystem
に関連付けられます。ディレクトリ名の生成方法に関する詳細は、実装に依存しているため、特定できません。 可能な場合は、
prefix
を使用して候補の名前が生成されます。createTempFile
メソッドと同様に、このメソッドは一時ファイル機能の一部に過ぎません。shutdown-hook
、またはFile.deleteOnExit()
メカニズムを使用すると、ディレクトリを自動的に削除できます。attrs
パラメータは、ディレクトリの作成時に原子的に設定するオプションのファイル属性
です。 各属性はそのname
で識別されます。 配列に同じ名前の属性が複数含まれる場合は、最後のもの以外はすべて無視されます。- パラメータ:
dir
- ディレクトリが作成されるディレクトリへのパスprefix
- ディレクトリ名を生成するために使用される接頭辞文字列。null
も可能ですattrs
- ディレクトリの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- このメソッドの呼出し前には存在しなかった、新しく作成されたディレクトリへのパス
- 例外:
IllegalArgumentException
- 候補のディレクトリ名を生成するためにprefixを使用できない場合UnsupportedOperationException
- ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合IOException
- 入出力エラーが発生した場合またはdir
が存在しない場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、ディレクトリの作成時にcheckWrite
メソッドが呼び出されて書込みアクセスがチェックされます。
-
createTempDirectory
public static Path createTempDirectory(String prefix, FileAttribute<?>... attrs) throws IOException デフォルトの一時ファイル・ディレクトリで新しいディレクトリを生成し、その名前には、指定された接頭辞が使用されます。 結果のPath
はデフォルトのFileSystem
に関連付けられています。このメソッドは、
dir
パラメータが一時ファイル・ディレクトリの場合は、createTempDirectory(Path,String,FileAttribute[])
メソッドによって指定されたとおりに機能します。- パラメータ:
prefix
- ディレクトリ名を生成するために使用される接頭辞文字列。null
も可能ですattrs
- ディレクトリの作成時に原子的に設定されるファイル属性のオプションのリスト- 戻り値:
- このメソッドの呼出し前には存在しなかった、新しく作成されたディレクトリへのパス
- 例外:
IllegalArgumentException
- 候補のディレクトリ名を生成するためにprefixを使用できない場合UnsupportedOperationException
- ディレクトリの作成時に原子的に設定できない属性が配列に含まれる場合IOException
- 入出力エラーが発生した場合または一時ファイル・ディレクトリが存在しない場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、ディレクトリの作成時にcheckWrite
メソッドが呼び出されて書込みアクセスがチェックされます。
-
createSymbolicLink
public static Path createSymbolicLink(Path link, Path target, FileAttribute<?>... attrs) throws IOException ターゲットへのシンボリック・リンクを作成します(オプションの操作)。target
パラメータは、そのリンクのターゲットです。 それは絶対
または相対パスにすることができ、存在しないこともあります。 ターゲットが相対パスである場合、結果となるリンクに対するファイル・システム操作は、そのリンクのパスを基準にして行われます。attrs
パラメータは、リンクの作成時に原子的に設定するオプションの属性
です。 各属性はそのname
で識別されます。 配列に同じ名前の属性が複数含まれる場合は、最後のもの以外はすべて無視されます。シンボリック・リンクがサポートされているが、ベースとなる
FileStore
がシンボリック・リンクをサポートしていない場合、これはIOException
で失敗することがあります。 また、一部のオペレーティング・システムではシンボリック・リンクを作成するためにJava仮想マシンを実装固有の特権で起動することが必要なことがあり、その場合はこのメソッドによってIOException
がスローされることがあります。- パラメータ:
link
- 作成するシンボリック・リンクへのパスtarget
- シンボリック・リンクのターゲットattrs
- シンボリック・リンクの作成時に原子的に設定される属性の配列- 戻り値:
- シンボリック・リンクへのパス
- 例外:
UnsupportedOperationException
- 実装がシンボリック・リンクをサポートしない場合、またはシンボリック・リンクの作成時に原子的に設定できない属性が配列に含まれる場合FileAlreadyExistsException
- その名前のファイルがすでに存在する場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダおよびセキュリティ・マネージャがインストールされている場合、LinkPermission
("symbolic")
またはそのcheckWrite
メソッドによって、シンボリック・リンクのパスへの書込みアクセスが拒否されます。
-
createLink
public static Path createLink(Path link, Path existing) throws IOException 既存のファイルに対して新しいリンク(ディレクトリ・エントリ)を作成します(オプションの操作)。link
パラメータは、作成するディレクトリ・エントリを検出します。existing
パラメータは、既存のファイルへのパスです。 このメソッドは、そのファイルの新しいディレクトリ・エントリを作成することで、link
をパスとして使用してそれにアクセスできるようにします。 一部のファイル・システムでは、これは「ハード・リンク」の作成として知られています。 ファイル属性がそのファイルのために保持されるか、またはディレクトリ・エントリごとに保持されるかは、ファイル・システムに固有であるため、特定できません。 通常、ファイル・システムでは、1つのファイルのすべてのリンク(ディレクトリ・エントリ)が同じファイル・システム上にある必要があります。 さらに、一部のプラットフォームでは、ハード・リンクを作成するか、ディレクトリへのリンクを作成するためにJava仮想マシンを実装固有の特権で起動することが必要な場合もあります。- パラメータ:
link
- 作成するリンク(ディレクトリ・エントリ)existing
- 既存のファイルへのパス- 戻り値:
- リンク(ディレクトリ・エントリ)へのパス
- 例外:
UnsupportedOperationException
- 実装が、既存のファイルをディレクトリに追加することをサポートしない場合FileAlreadyExistsException
- その名前のファイルがすでに存在するためにエントリを作成できなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダがインストールされていて、セキュリティ・マネージャがインストールされている場合は、LinkPermission
("hard")
またはそのcheckWrite
メソッドによって、リンクまたは既存のファイルへの書込みアクセスが拒否されます。
-
delete
public static void delete(Path path) throws IOException ファイルを削除します。実装では、ファイルがディレクトリかどうかを判断するためにファイルを検査することが必要な場合があります。 その結果、このメソッドはほかのファイル・システム操作に関して原始的でない可能性があります。 ファイルがシンボリック・リンクの場合、そのリンクの最終ターゲットではなく、そのシンボリック・リンク自体が削除されます。
ファイルがディレクトリの場合、ディレクトリは空である必要があります。 一部の実装では、ディレクトリの作成時に作成される特殊なファイルやリンクのエントリがディレクトリに存在します。 このような実装では、ディレクトリは特殊なエントリのみが存在する場合に空であるとみなされます。 このメソッドを
walkFileTree
メソッドとともに使用すると、必要に応じてディレクトリとそのディレクトリ内のすべてのエントリを削除したり、ファイル・ツリー全体を削除したりすることができます。一部のオペレーシング・システムでは、このJava仮想マシンまたはほかのプログラムによって開かれて使用されているファイルを削除できない場合があります。
- パラメータ:
path
- 削除するファイルへのパス- 例外:
NoSuchFileException
- ファイルが存在しない場合(オプションの固有例外)DirectoryNotEmptyException
- ファイルがディレクトリで、ディレクトリが空でないために削除できなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、SecurityManager.checkDelete(String)
メソッドが呼び出されてファイルへの削除アクセスがチェックされます。
-
deleteIfExists
public static boolean deleteIfExists(Path path) throws IOException ファイルが存在する場合は削除します。delete(Path)
メソッドと同様に、実装では、ファイルがディレクトリかどうかを判断するためにファイルを検査することが必要な場合があります。 その結果、このメソッドはほかのファイル・システム操作に関して原始的でない可能性があります。 ファイルがシンボリック・リンクの場合、そのリンクの最終ターゲットではなく、そのシンボリック・リンク自体が削除されます。ファイルがディレクトリの場合、ディレクトリは空である必要があります。 一部の実装では、ディレクトリの作成時に作成される特殊なファイルやリンクのエントリがディレクトリに存在します。 このような実装では、ディレクトリは特殊なエントリのみが存在する場合に空であるとみなされます。
一部のオペレーシング・システムでは、このJava仮想マシンまたはほかのプログラムによって開かれて使用されているファイルを削除できない場合があります。
- パラメータ:
path
- 削除するファイルへのパス- 戻り値:
- ファイルがこのメソッドによって削除された場合は
true
、ファイルが存在しないために削除できなかった場合はfalse
- 例外:
DirectoryNotEmptyException
- ファイルがディレクトリで、ディレクトリが空でないために削除できなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、SecurityManager.checkDelete(String)
メソッドが呼び出されてファイルへの削除アクセスがチェックされます。
-
copy
public static Path copy(Path source, Path target, CopyOption... options) throws IOException ファイルをターゲット・ファイルにコピーします。このメソッドは、コピーの実行方法を指定する
options
パラメータを使って、ファイルをターゲット・ファイルにコピーします。 デフォルトでは、ソースとターゲットが同じ
ファイルである場合を除き(その場合、このメソッドはファイルをコピーしないで終了する)、ターゲット・ファイルがすでに存在するか、シンボリック・リンクである場合にそのコピーは失敗します。 ファイル属性がターゲット・ファイルにコピーされる必要ありません。 シンボリック・リンクがサポートされていて、ファイルがシンボリック・リンクである場合、そのリンクの最終ターゲットがコピーされます。 ファイルがディレクトリの場合、ターゲットのロケーション(ディレクトリ内のエントリはコピーされません)に空のディレクトリが作成されます。 このメソッドをwalkFileTree
メソッドとともに使用すると、必要に応じてディレクトリとそのディレクトリ内のすべてのエントリをコピーしたり、ファイル・ツリー全体をコピーしたりすることができます。options
パラメータには次のものを含めることができます。オプション 説明 REPLACE_EXISTING
既存のファイルを置き換えます。 空でないディレクトリは置換できません。 ターゲット・ファイルが存在してシンボリック・リンクである場合は、リンクのターゲットではなくシンボリック・リンク自身が置換されます。 COPY_ATTRIBUTES
このファイルに関連付けられたファイル属性をターゲット・ファイルにコピーしようとします。 コピーされる正確なファイル属性はプラットフォームやファイル・システムに依存しているため、特定できません。 少なくとも、 最終更新時間
はターゲット・ファイルにコピーされます(ソースとターゲットの両方のファイル・ストアでサポートされている場合)。 ファイルのタイムスタンプをコピーすると、精度が失われる可能性があります。NOFOLLOW_LINKS
シンボリック・リンクはたどられません。 ファイルがシンボリック・リンクの場合、そのリンクのターゲットではなく、そのシンボリック・リンク自体がコピーされます。 ファイル属性を新しいリンクにコピーできるかどうかは実装に固有です。 つまり、シンボリック・リンクをコピーする場合は COPY_ATTRIBUTES
オプションが無視される可能性があります。このインタフェースの実装は、追加の実装固有オプションをサポートできます。
ファイルのコピーは、原子的操作ではありません。
IOException
がスローされる場合は、ターゲット・ファイルが不完全であるか、またはそのファイル属性の一部がソース・ファイルからコピーされていない可能性があります。REPLACE_EXISTING
オプションが指定され、ターゲット・ファイルが存在する場合は、ターゲット・ファイルが置換されます。 ファイルがあるかどうかのチェックや新しいファイルの作成は、ほかのファイル・システム・アクティビティに対して原子的でない可能性があります。使用例: ファイルをディレクトリ内にコピーして、そのファイル名をソース・ファイルと同じに名前にするとします。
Path source = ... Path newdir = ... Files.copy(source, newdir.resolve(source.getFileName());
- パラメータ:
source
- コピーするファイルへのパスtarget
- ターゲット・ファイルへのパス(ソース・パスとは異なるプロバイダに関連付けられている場合がある)options
- コピーをどのように実行するべきかを指定するオプション- 戻り値:
- ターゲット・ファイルへのパス
- 例外:
UnsupportedOperationException
- サポートされないコピー・オプションが配列に含まれる場合FileAlreadyExistsException
- ターゲット・ファイルは存在するけれども、REPLACE_EXISTING
オプションが指定されていないために置換できない場合(オプションの固有例外)DirectoryNotEmptyException
-REPLACE_EXISTING
オプションが指定されているけれども、空でないディレクトリであるために置換できない場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてソース・ファイルへの読取りアクセスがチェックされ、checkWrite
メソッドが呼び出されてターゲット・ファイルへの書込みアクセスがチェックされます。 シンボリック・リンクがコピーされる場合は、セキュリティ・マネージャが呼び出されてLinkPermission
("symbolic")
がチェックされます。
-
move
public static Path move(Path source, Path target, CopyOption... options) throws IOException ファイルをターゲット・ファイルに移動するか、そのファイル名を変更します。デフォルトでは、このメソッドはターゲット・ファイルへのファイルの移動を試み、ソースとターゲットが
同じ
ファイルである場合を除き(その場合、このメソッドは何の効果もない)、ターゲット・ファイルが存在する場合は失敗します。 ファイルがシンボリック・リンクの場合、そのリンクのターゲットではなく、そのシンボリック・リンク自体が移動されます。 このメソッドは空のディレクトリを移動するために呼び出すこともできます。 一部の実装では、ディレクトリの作成時に作成される特殊なファイルやリンクのエントリがディレクトリに存在します。 このような実装では、ディレクトリは特殊なエントリのみが存在する場合に空であるとみなされます。 空でないディレクトリを移動するために呼び出すと、そのディレクトリ内のエントリを移動する必要がない場合にそのディレクトリが移動されます。 たとえば、同じFileStore
上にあるディレクトリの名前を変更する場合、通常はそのディレクトリ内のエントリを移動する必要はありません。 ディレクトリを移動するときにそのエントリも移動する必要がある場合、このメソッドは失敗します(IOException
をスローする)。 ファイル・ツリーを移動する場合は、ディレクトリの移動ではなくコピーが必要になることがあり、これを行うには、copy
メソッドをFiles.walkFileTree
ユーティリティ・メソッドと組み合わせて使用します。options
パラメータには次のものを含めることができます。オプション 説明 REPLACE_EXISTING
既存のファイルを置き換えます。 空でないディレクトリは置換できません。 ターゲット・ファイルが存在してシンボリック・リンクである場合は、リンクのターゲットではなくシンボリック・リンク自身が置換されます。 ATOMIC_MOVE
この移動は原子的なファイル・システム操作として実行され、他のオプションはすべて無視されます。 ターゲット・ファイルが存在する場合、その既存ファイルが置換されるか、またはこのメソッドが IOException
をスローして失敗するかは実装に固有です。 移動を原子的なファイル・システム操作として実行できない場合は、AtomicMoveNotSupportedException
がスローされます。 これは、ターゲットの場所が異なるFileStore
上にあるときにファイルをコピーする必要があったり、ターゲットの場所がこのオブジェクトとは異なるプロバイダに関連付けられていたりする場合などに発生することがあります。このインタフェースの実装は、追加の実装固有オプションをサポートできます。
ファイルを移動すると、
最終更新時間
がターゲット・ファイルにコピーされます(ソースとターゲットの両方のファイル・ストアでサポートされている場合)。 ファイルのタイムスタンプをコピーすると、精度が失われる可能性があります。 実装では、他のファイル属性のコピーも試みることができますが、それらのファイル属性をコピーできない場合に必ずしも失敗するとはかぎりません。 移動を原子的でない操作として実行し、IOException
がスローされる場合、ファイルの状態は特定できません。 元のファイルとターゲット・ファイルの両方が存在したり、ターゲット・ファイルが不完全であったり、そのファイル属性の一部が元のファイルからコピーされていなかったりする可能性があります。使用例: ファイルの名前を「newname」に変更して、そのファイルを同じディレクトリに保存するとします。
Path source = ... Files.move(source, source.resolveSibling("newname"));
Path source = ... Path newdir = ... Files.move(source, newdir.resolve(source.getFileName()), REPLACE_EXISTING);
- パラメータ:
source
- 移動するファイルへのパスtarget
- ターゲット・ファイルへのパス(ソース・パスとは異なるプロバイダに関連付けられている場合がある)options
- 移動をどのように実行するべきかを指定するオプション- 戻り値:
- ターゲット・ファイルへのパス
- 例外:
UnsupportedOperationException
- サポートされないコピー・オプションが配列に含まれる場合FileAlreadyExistsException
- ターゲット・ファイルは存在するけれども、REPLACE_EXISTING
オプションが指定されていないために置換できない場合(オプションの固有例外)DirectoryNotEmptyException
-REPLACE_EXISTING
オプションが指定されていますが、空ではないディレクトリであるためファイルを置換できません。または、(optional specific exceptions)を移動する必要があるエントリを含む空ではないディレクトリです。AtomicMoveNotSupportedException
- オプション配列にATOMIC_MOVE
オプションを含まれるけれども、原子的なファイル・システム操作としてファイルを移動できない場合。IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてソースおよびターゲット・ファイルの両方への書込みアクセスがチェックされます。
-
readSymbolicLink
public static Path readSymbolicLink(Path link) throws IOException シンボリック・リンクのターゲットを読み取ります(オプションの操作)。ファイル・システムがシンボリック・リンクをサポートしている場合、このメソッドはそのリンクのターゲットを読み取るために使用され、ファイルがシンボリック・リンクでない場合は失敗します。 そのリンクのターゲットは存在しなくてもかまいません。 返される
Path
オブジェクトは、link
と同じファイル・システムに関連付けられます。- パラメータ:
link
- シンボリック・リンクへのパス- 戻り値:
- そのリンクのターゲットを表す
Path
オブジェクト - 例外:
UnsupportedOperationException
- この実装がシンボリック・リンクをサポートしていない場合。NotLinkException
- ファイルがシンボリック・リンクではないためにターゲットを読み取れなかった場合(オプションの固有例外)IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、リンクを読み取る"readlink
"アクションにFilePermission
が付与されていることがチェックされます。
-
getFileStore
public static FileStore getFileStore(Path path) throws IOException ファイルが置かれているファイル・ストアを表すFileStore
を返します。FileStore
への参照が取得されると、返されたFileStore
に対する操作や、そこから取得されるFileStoreAttributeView
オブジェクトが引き続きそのファイルの存在に左右されるのかどうかは実装に固有です。 特に、ファイルが削除されたり、別のファイル・ストアに移動されたりする場合では、この動作を特定できません。- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイルが格納されるファイル・ストア
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダでセキュリティ・マネージャがインストールされている場合、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされ、さらにRuntimePermission
("getFileStoreAttributes")
もチェックされます
-
isSameFile
public static boolean isSameFile(Path path, Path path2) throws IOException 2つのパスが同じファイルを検出するかどうかを判断します。両方の
Path
オブジェクトが等しい
場合、このメソッドはファイルが存在するかどうかを判定せずにtrue
を返します。 2つのPath
オブジェクトが別々のプロバイダに関連付けられている場合、このメソッドはfalse
を返します。 それ以外の場合、このメソッドは両方のPath
オブジェクトが同じファイルを検出するかどうかを判定し、実装によっては、両方のファイルを開くか、それにアクセスすることが必要になる場合があります。ファイル・システムやファイルがstaticのままである場合、このメソッドはnull以外の
Path
に対して同値関係を実装します。- 反射性(reflexive):
パス
f
について、isSameFile(f,f)
はtrue
を返します。 - 対称性(symmetric): 2つの
パス
f
およびg
について、isSameFile(f,g)
はisSameFile(g,f)
と同等です。 - それはtransitiveです:
Paths
f
のg
およびh
の3つについて、isSameFile(f,g)
がtrue
を返し、isSameFile(g,h)
がtrue
を返した場合、isSameFile(f,h)
はtrue
を返します。
- パラメータ:
path
- ファイルへの一方のパスpath2
- もう一方のパス- 戻り値:
- 2つのパスが同じファイルを検出する場合にのみ
true
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されて2つのファイルへの読取りアクセスがチェックされます。- 関連項目:
- 反射性(reflexive):
-
mismatch
public static long mismatch(Path path, Path path2) throws IOException 2つのファイルのコンテンツ内で、最初の不一致バイトの位置を検索して返します。不一致がない場合は、-1L
。 位置は、0L
の小さいファイルのサイズ(バイト単位)までの範囲内です。2つのファイルは、次のいずれかの条件を満たしている場合に一致するとみなされます:
- 2つのパスが「同じファイル」を見つけます(2つのequalパスが、存在しないファイルを見つけても、または
- 2つのファイルのサイズは同じであり、最初のファイルのすべてのバイトが2番目のファイルの対応するバイトと同一です。
それ以外の場合、2つのファイルには不一致があり、このメソッドによって返される値は次のとおりです:
- 最初の一致しないバイトの位置、または
- ファイルのサイズが異なる場合の小さいファイル(バイト単位)のサイズと小さいファイルの各バイトは、大きいファイルの対応するバイトと同じです。
このメソッドは、ほかのファイルシステム操作に関してアトミックでない可能性があります。 このメソッドは常にreflexive (
Path f
の場合は、mismatch(f,f)
の戻り値は-1L
)です。 ファイル・システムとファイルが静的なままになっている場合、このメソッドはsymmetric (2つのPaths f
とg
の場合、mismatch(f,g)
はmismatch(g,f)
と同じ値を返します)です。- パラメータ:
path
- 最初のファイルへのパスpath2
- 2つ目のファイルへのパス- 戻り値:
- 最初の不一致の位置、または不一致がない場合は
-1L
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されて2つのファイルへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 12
-
isHidden
public static boolean isHidden(Path path) throws IOException ファイルが隠しファイルとみなされるかどうかを判断します。- APIのノート:
- 「隠し」の正確な定義はプラットフォームまたはプロバイダに依存します。 たとえば、UNIXでは、ファイル名がピリオド(「.」)で始まるファイルが隠しファイルとみなされます。 Windowsでは、DOS
hidden
属性が設定されている場合、ファイルは非表示とみなされます。実装によっては、このメソッドは、ファイルが隠しファイルとみなされるかどうかを判断するためにファイル・システムにアクセスすることが必要になる場合があります。
- パラメータ:
path
- テストするファイルへのパス- 戻り値:
- ファイルが隠しとみなされる場合
true
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
-
probeContentType
public static String probeContentType(Path path) throws IOException ファイルのコンテンツ・タイプを調べます。このメソッドは、インストールされている
FileTypeDetector
の実装を使用して、指定されたファイルを調査し、そのコンテンツ・タイプを特定します。 各ファイル・タイプ・ディテクタのprobeContentType
が順番に呼び出されて、ファイル・タイプが調査されます。 ファイルが認識される場合は、コンテンツ・タイプが返されます。 インストールされているどのファイル・タイプ・ディテクタによってもファイルが認識されない場合は、システム・デフォルトのファイル・タイプ・ディテクタが呼び出されてコンテンツ・タイプが推測されます。Java仮想マシンのある特定の呼出しで、システム全体のファイル・タイプ・ディテクタ・リストが保持されます。 インストールされているファイル・タイプ・ディテクタのロードには、
ServiceLoader
クラスで定義されているサービス・プロバイダのロード機能が使用されます。 インストールされているファイル・タイプ・ディテクタのロードにはシステム・クラス・ローダーが使用されます。 システム・クラス・ローダーが見つからない場合は、プラットフォーム・クラス・ローダーが使用されます。 ファイル・タイプ・ディテクタは、通常、アプリケーション・クラス・パスのJARファイルに配置することでインストールされます。JARファイルには、リソース・ディレクトリMETA-INF/services
にjava.nio.file.spi.FileTypeDetector
という名前のプロバイダ構成ファイルが含まれ、このファイルには、引数なしのコンストラクタを持つFileTypeDetector
の具象サブクラスの1つ以上の完全修飾名がリストされます。 インストールされているファイル・タイプ・ディテクタの検索またはインスタンス化のプロセスが失敗すると、特定できないエラーがスローされます。 インストールされているプロバイダの検索順序は実装によって異なります。このメソッドの戻り値は、RFC 2045「MIME (Multipurpose Internet Mail Extensions)のパート1: インターネット・メッセージ本文の形式」で定義されている、MIME (Multipurpose Internet Mail Extension)コンテンツ・タイプの文字列形式の値になります。 この文字列は、RFCの文法に従って構文解析可能であることが保証されています。
- パラメータ:
path
- 調査するファイルへのパス- 戻り値:
- ファイルのコンテンツ・タイプ。コンテンツ・タイプを特定できない場合は
null
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- セキュリティ・マネージャがインストールされ、それがファイル・タイプ・ディテクタ実装に必要な未指定のアクセス権を拒否する場合。- 外部仕様
-
getFileAttributeView
public static <V extends FileAttributeView> V getFileAttributeView(Path path, Class<V> type, LinkOption... options) 指定されたタイプのファイル属性ビューを返します。ファイル属性ビューは、一連のファイル属性の読取り専用または更新可能なビューを提供します。 このメソッドは、ファイル属性の読み取りや更新を行うための型保証されたメソッドをファイル属性ビューで定義する場合に使用するよう意図されています。
type
パラメータは必要な属性ビューのタイプで、メソッドはサポートされている場合はそのタイプのインスタンスを返します。BasicFileAttributeView
タイプは、ファイルの基本属性へのアクセスをサポートします。 このメソッドを呼び出して、そのタイプのファイル属性ビューを選択すると、常にそのクラスのインスタンスが返されます。options
配列を使用すると、ファイルがシンボリック・リンクである場合の、結果となるファイル属性ビューによるシンボリック・リンクの処理方法を指定できます。 デフォルトではシンボリック・リンクはたどられます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。 シンボリック・リンクをサポートしない実装では、このオプションは無視されます。使用例: ファイルのACL (サポートされている場合)の読み取りまたは設定を行うとします。
Path path = ... AclFileAttributeView view = Files.getFileAttributeView(path, AclFileAttributeView.class); if (view != null) { List<AclEntry> acl = view.getAcl(); : }
- 型パラメータ:
V
-FileAttributeView
タイプ- パラメータ:
path
- ファイルへのパスtype
- ファイル属性ビューに対応するClass
オブジェクトoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- 指定されたタイプのファイル属性ビュー、または属性ビューのタイプがない場合は
null
-
readAttributes
public static <A extends BasicFileAttributes> A readAttributes(Path path, Class<A> type, LinkOption... options) throws IOException 一括操作としてファイル属性を読み取ります。type
パラメータは必要な属性のタイプで、このメソッドではそのタイプがサポートされている場合にそのインスタンスを返します。 すべての実装でファイル属性の基本セットがサポートされているため、このメソッドをBasicFileAttributes.class
というtype
パラメータで呼び出した場合、UnsupportedOperationException
はスローされません。options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。ほかのファイル・システム操作に関して、すべてのファイル属性が原子的操作として読み取られるかどうかは実装固有です。
使用例: ファイルの属性を一括して読み取るとします。
Path path = ... BasicFileAttributes attrs = Files.readAttributes(path, BasicFileAttributes.class);
PosixFileAttributes attrs = Files.readAttributes(path, PosixFileAttributes.class, NOFOLLOW_LINKS);
- 型パラメータ:
A
-BasicFileAttributes
タイプ- パラメータ:
path
- ファイルへのパスtype
- 読み取る必要のあるファイル属性のClass
options
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイル属性
- 例外:
UnsupportedOperationException
- 指定されたタイプの属性がサポートされない場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。 このメソッドが、セキュリティ保護を必要とする属性を読み取るために呼び出された場合、セキュリティ・マネージャが呼び出されて追加のアクセス権をチェックする場合があります。
-
setAttribute
public static Path setAttribute(Path path, String attribute, Object value, LinkOption... options) throws IOException ファイル属性の値を設定します。attribute
パラメータは、設定する属性を識別し、次の形式をとります。[view-name:]attribute-name
ここで、角カッコ[...]はオプションのコンポーネントを表し、文字':'
はそれ自体を表します。view-nameは、ファイル属性のセットを指定する、
FileAttributeView
のname
です。 これを指定しない場合は、デフォルトで"basic"
(多くのファイル・システムに共通するファイル属性の基本セットを識別するファイル属性ビューの名前)になります。attribute-nameはそのセット内の属性の名前です。options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクがたどられ、そのリンクの最終ターゲットのファイル属性が設定されます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。使用例: DOSの「hidden」属性を設定するとします。
Path path = ... Files.setAttribute(path, "dos:hidden", true);
- パラメータ:
path
- ファイルへのパスattribute
- 設定する属性value
- 属性値options
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- 指定されたパス
- 例外:
UnsupportedOperationException
- 属性ビューが使用できない場合IllegalArgumentException
- 属性名が指定されない場合、または認識されない場合、または属性値の型は正しいが値が不適切な場合ClassCastException
- 属性値が予想される型でないか、予想される型でない要素を含むコレクションである場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckWrite
メソッドがファイルへの書込みアクセスを拒否する場合。 このメソッドが、セキュリティ保護を必要とする属性を設定するために呼び出された場合、セキュリティ・マネージャが呼び出されて追加のアクセス権をチェックする場合があります。
-
getAttribute
public static Object getAttribute(Path path, String attribute, LinkOption... options) throws IOException ファイル属性の値を読み取ります。attribute
パラメータは、読み取る属性を指定し、次の形式をとります。[view-name:]attribute-name
ここで、角カッコ[...]はオプションのコンポーネントを表し、文字':'
はそれ自体を表します。view-nameは、ファイル属性のセットを指定する、
FileAttributeView
のname
です。 これを指定しない場合は、デフォルトで"basic"
(多くのファイル・システムに共通するファイル属性の基本セットを識別するファイル属性ビューの名前)になります。attribute-nameは属性の名前です。options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。使用例: 「
unix
」ビューをサポートするシステム上のファイル所有者のユーザーIDを要求するとします。Path path = ... int uid = (Integer)Files.getAttribute(path, "unix:uid");
- パラメータ:
path
- ファイルへのパスattribute
- 読み取る属性options
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- 属性値
- 例外:
UnsupportedOperationException
- 属性ビューが使用できない場合IllegalArgumentException
- 属性名が指定されていないか、認識されない場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。 このメソッドが、セキュリティ保護を必要とする属性を読み取るために呼び出された場合、セキュリティ・マネージャが呼び出されて追加のアクセス権をチェックする場合があります。
-
readAttributes
public static Map<String,Object> readAttributes(Path path, String attributes, LinkOption... options) throws IOException 一括操作として一連のファイル属性を読み取ります。attributes
パラメータは、読み取る属性を識別し、次の形式をとります。[view-name:]attribute-list
ここで、角カッコ[...]はオプションのコンポーネントを表し、文字':'
はそれ自体を表します。view-nameは、ファイル属性のセットを指定する、
FileAttributeView
のname
です。 これを指定しない場合は、デフォルトで"basic"
(多くのファイル・システムに共通するファイル属性の基本セットを識別するファイル属性ビューの名前)になります。attribute-listコンポーネントは、読み取る1つ以上の属性名のカンマ区切りリストです。 このリストに値
"*"
が含まれている場合は、すべての属性が読み取られます。 サポートされていない属性は無視され、返されるマップには含まれません。 ほかのファイル・システム操作に関して、すべての属性が原子的操作として読み取られるかどうかは実装固有です。次の例は、
attributes
パラメータの使用可能な値を示しています。例 説明 "*"
すべての 基本ファイル属性
を読み取ります。"size,lastModifiedTime,lastAccessTime"
ファイル・サイズ、最終更新時間、および最終アクセス時間の属性を読み取ります。 "posix:*"
すべての POSIX-file-attributes
を読み取ります。"posix:permissions,owner,size"
POSIXファイル・アクセス権、所有者、およびファイル・サイズを読み取ります。 options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。- パラメータ:
path
- ファイルへのパスattributes
- 読み取る属性options
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- 返される属性のマップ。マップのキーは属性名で、その値は属性値である
- 例外:
UnsupportedOperationException
- 属性ビューが使用できない場合IllegalArgumentException
- 属性が指定されていないか、認識できない属性が指定されている場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。 このメソッドが、セキュリティ保護を必要とする属性を読み取るために呼び出された場合、セキュリティ・マネージャが呼び出されて追加のアクセス権をチェックする場合があります。
-
getPosixFilePermissions
public static Set<PosixFilePermission> getPosixFilePermissions(Path path, LinkOption... options) throws IOException ファイルのPOSIXファイル・アクセス権を返します。path
パラメータは、PosixFileAttributeView
をサポートするFileSystem
に関連付けられます。 この属性ビューは、Portable Operating System Interface (POSIX)の標準ファミリを実装するオペレーティング・システムによって使用されるファイル・システムのファイルに一般的に関連付けられるファイル属性へのアクセスを提供します。options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。- パラメータ:
path
- ファイルへのパスoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイル・アクセス権
- 例外:
UnsupportedOperationException
- 関連付けられるファイル・システムがPosixFileAttributeView
をサポートしない場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダの場合は、セキュリティ・マネージャがインストールされ、RuntimePermission
("accessUserInformation")
またはそのcheckRead
メソッドによってファイルへの読取りアクセスが拒否されます。
-
setPosixFilePermissions
public static Path setPosixFilePermissions(Path path, Set<PosixFilePermission> perms) throws IOException ファイルのPOSIXファイル・アクセス権を設定します。path
パラメータは、PosixFileAttributeView
をサポートするFileSystem
に関連付けられます。 この属性ビューは、Portable Operating System Interface (POSIX)の標準ファミリを実装するオペレーティング・システムによって使用されるファイル・システムのファイルに一般的に関連付けられるファイル属性へのアクセスを提供します。- パラメータ:
path
- ファイルへのパスperms
- アクセス権の新しいセット- 戻り値:
- 指定されたパス
- 例外:
UnsupportedOperationException
- 関連付けられるファイル・システムがPosixFileAttributeView
をサポートしない場合ClassCastException
- セットにPosixFilePermission
のタイプでない要素が含まれる場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダおよびセキュリティ・マネージャがインストールされている場合、RuntimePermission
("accessUserInformation")
またはそのcheckWrite
メソッドによってファイルへの書込みアクセスが拒否されます。
-
getOwner
public static UserPrincipal getOwner(Path path, LinkOption... options) throws IOException ファイルの所有者を返します。path
パラメータは、FileOwnerAttributeView
をサポートするファイル・システムに関連付けられます。 このファイル属性ビューは、ファイルの所有者であるファイル属性へのアクセスを提供します。- パラメータ:
path
- ファイルへのパスoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイルの所有者を表すユーザー主体
- 例外:
UnsupportedOperationException
- 関連付けられるファイル・システムがFileOwnerAttributeView
をサポートしない場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダおよびセキュリティ・マネージャがインストールされている場合は、RuntimePermission
("accessUserInformation")
またはそのcheckRead
メソッドによってファイルへの読取りアクセスが拒否されます。
-
setOwner
public static Path setOwner(Path path, UserPrincipal owner) throws IOException ファイル所有者を更新します。path
パラメータは、FileOwnerAttributeView
をサポートするファイル・システムに関連付けられます。 このファイル属性ビューは、ファイルの所有者であるファイル属性へのアクセスを提供します。使用例: "joe"をファイルの所有者にするとします。
Path path = ... UserPrincipalLookupService lookupService = provider(path).getUserPrincipalLookupService(); UserPrincipal joe = lookupService.lookupPrincipalByName("joe"); Files.setOwner(path, joe);
- パラメータ:
path
- ファイルへのパスowner
- 新しいファイル所有者- 戻り値:
- 指定されたパス
- 例外:
UnsupportedOperationException
- 関連付けられるファイル・システムがFileOwnerAttributeView
をサポートしない場合IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダおよびセキュリティ・マネージャがインストールされている場合、RuntimePermission
("accessUserInformation")
またはそのcheckWrite
メソッドによってファイルへの書込みアクセスが拒否されます。- 関連項目:
-
isSymbolicLink
public static boolean isSymbolicLink(Path path) ファイルがシンボリック・リンクかどうかをテストします。入出力例外を、ファイルがシンボリック・リンクでないケースと区別する必要がある場合は、
readAttributes
メソッドを使ってファイル属性を読み取ったり、BasicFileAttributes.isSymbolicLink()
メソッドを使ってファイル・タイプを判定したりできます。- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイルがシンボリック・リンクである場合は
true
。ファイルが存在しないか、シンボリック・リンクでないか、またはファイルがシンボリック・リンクかどうかを判断できない場合はfalse
。 - 例外:
SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。
-
isDirectory
public static boolean isDirectory(Path path, LinkOption... options) ファイルがディレクトリかどうかをテストします。options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。入出力例外を、ファイルがディレクトリでないケースと区別する必要がある場合は、
readAttributes
メソッドを使ってファイル属性を読み取ったり、BasicFileAttributes.isDirectory()
メソッドを使ってファイル・タイプを判定したりできます。- パラメータ:
path
- テストするファイルへのパスoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイルがディレクトリである場合は
true
。ファイルが存在しないか、ディレクトリでないか、またはファイルがディレクトリかどうかを判断できない場合はfalse
。 - 例外:
SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。
-
isRegularFile
public static boolean isRegularFile(Path path, LinkOption... options) ファイルが不透明な内容の通常ファイルかどうかをテストします。options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。入出力例外を、ファイルが通常ファイルでないケースと区別する必要がある場合は、
readAttributes
メソッドを使ってファイル属性を読み取ったり、BasicFileAttributes.isRegularFile()
メソッドを使ってファイル・タイプを判定したりできます。- パラメータ:
path
- ファイルへのパスoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイルが通常ファイルである場合は
true
。ファイルが存在しないか、通常ファイルでないか、またはファイルが通常ファイルかどうかを判断できない場合はfalse
。 - 例外:
SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。
-
getLastModifiedTime
public static FileTime getLastModifiedTime(Path path, LinkOption... options) throws IOException ファイルの最終変更時間を返します。options
配列を使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトでは、シンボリック・リンクはたどられ、リンクの最終ターゲットのファイル属性が読み取られます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。- パラメータ:
path
- ファイルへのパスoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイルが最後に変更された時間を表す
FileTime
。最終変更時間を示すタイムスタンプがそのファイル・システムによってサポートされていない場合は実装固有のデフォルト - 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。- 関連項目:
-
setLastModifiedTime
public static Path setLastModifiedTime(Path path, FileTime time) throws IOException ファイルの最終変更時間属性を更新します。 ファイル時間は、そのファイル・システムでサポートされている元期と精度に変換されます。 粒度の細かいほうから粗いほうへ変換すると、精度が失われます。 最終変更時間がそのファイル・システムによってサポートされていない場合、またはそれがベースとなるファイル・ストアのサポート範囲外にあるときに、最終変更時間の設定を試みた場合のこのメソッドの動作は定義されていません。IOException
をスローすることによって、失敗する場合としない場合があります。使用例: 最終変更時間を現在の時間に設定するとします。
Path path = ... FileTime now = FileTime.fromMillis(System.currentTimeMillis()); Files.setLastModifiedTime(path, now);
- パラメータ:
path
- ファイルへのパスtime
- 新しい最終変更時間- 戻り値:
- 指定されたパス
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckWrite
メソッドがファイルへの書込みアクセスを拒否する場合。- 関連項目:
-
size
public static long size(Path path) throws IOException ファイルのサイズをバイトで返します。 圧縮、スパース・ファイルのサポート、またはその他の理由により、サイズがファイル・システム上の実際のサイズと異なる場合があります。通常
ファイルでないファイルのサイズは実装固有であるため未指定です。- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイル・サイズ(バイト)
- 例外:
IOException
- 入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされていて、そのcheckRead
メソッドがファイルへの読取りアクセスを拒否する場合。- 関連項目:
-
exists
public static boolean exists(Path path, LinkOption... options) ファイルが存在するかどうかをテストします。options
パラメータを使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトではシンボリック・リンクはたどられます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。このメソッドの結果がすぐに古くなることに注意してください。 このメソッドがファイルが存在することを示す場合、後続のアクセスが成功する保証はありません。 このメソッドを、セキュリティ保護を必要とするアプリケーションで使用するときは注意してください。
- パラメータ:
path
- テストするファイルへのパスoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイルが存在する場合は
true
。ファイルが存在しないか、その存在を判断できない場合はfalse
。 - 例外:
SecurityException
- デフォルト・プロバイダの場合は、SecurityManager.checkRead(String)
が呼び出されてファイルへの読取りアクセスがチェックされます。- 関連項目:
-
notExists
public static boolean notExists(Path path, LinkOption... options) このパスが示すファイルが存在しないかどうかをテストします。 このメソッドは、ファイルが存在しないことが確認できたときにアクションを取る必要がある場合に使用するものです。options
パラメータを使用すると、ファイルがシンボリック・リンクである場合のシンボリック・リンクの処理方法を指定できます。 デフォルトではシンボリック・リンクはたどられます。 オプションNOFOLLOW_LINKS
が存在する場合は、シンボリック・リンクはたどられません。このメソッドが
exists
メソッドを補足するものではないことに注意してください。 ファイルが存在するかどうか判断できない場合は、どちらのメソッドもfalse
を返します。exists
メソッドと同様に、このメソッドの結果もすぐに古くなります。 このメソッドがファイルが存在することを示している場合、その後のファイルの作成が成功する保証はありません。 このメソッドを、セキュリティ保護を必要とするアプリケーションで使用するときは注意してください。- パラメータ:
path
- テストするファイルへのパスoptions
- シンボリック・リンクの処理方法を示すオプション- 戻り値:
- ファイルが存在しない場合は
true
。ファイルが存在するか、その存在を判断できない場合はfalse
- 例外:
SecurityException
- デフォルト・プロバイダの場合は、SecurityManager.checkRead(String)
が呼び出されてファイルへの読取りアクセスがチェックされます。
-
isReadable
public static boolean isReadable(Path path) ファイルが読取り可能かどうかをテストします。 このメソッドは、ファイルが存在することと、このJava仮想マシンに、そのファイルを読取り用に開けるようにする適切な特権があることを確認します。 実装によっては、このメソッドが、ファイルへの効果的なアクセスをチェックするために、ファイル・アクセス権、アクセス制御リスト、またはその他のファイル属性を読み取る必要がある場合があります。 その結果、このメソッドはほかのファイル・システムの操作に関して原始的でない可能性があります。このメソッドの結果がすぐに古くなることに注意してください。そのあとのファイルを読取り用に開く試みが成功する(あるいは同じファイルにアクセスすることさえ)保証はありません。 このメソッドを、セキュリティ保護を必要とするアプリケーションで使用するときは注意してください。
- パラメータ:
path
- チェックするファイルへのパス- 戻り値:
- ファイルが存在し、読取り可能な場合は
true
。ファイルが存在しないか、Java仮想マシンに十分な特権がないために読取りアクセスが拒否されるか、またはアクセスを判断できない場合はfalse
- 例外:
SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
が呼び出されてファイルへの読取りアクセスがチェックされます。
-
isWritable
public static boolean isWritable(Path path) ファイルが書込み可能かどうかをテストします。 このメソッドは、ファイルが存在することと、このJava仮想マシンに、そのファイルを書込み用に開けるようにする適切な特権があることを確認します。 実装によっては、このメソッドが、ファイルへの効果的なアクセスをチェックするために、ファイル・アクセス権、アクセス制御リスト、またはその他のファイル属性を読み取る必要がある場合があります。 その結果、このメソッドはほかのファイル・システムの操作に関して原始的でない可能性があります。このメソッドの結果がすぐに古くなることに注意してください。そのあとのファイルを書込み用に開く試みが成功する(あるいは同じファイルにアクセスすることさえ)保証はありません。 このメソッドを、セキュリティ保護を必要とするアプリケーションで使用するときは注意してください。
- パラメータ:
path
- チェックするファイルへのパス- 戻り値:
- ファイルが存在し、書込み可能な場合は
true
。ファイルが存在しないか、Java仮想マシンに十分な特権がないために書込みアクセスが拒否されるか、またはアクセスを判断できない場合はfalse
- 例外:
SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
が呼び出されてファイルへの書込みアクセスがチェックされます。
-
isExecutable
public static boolean isExecutable(Path path) ファイルが実行可能かどうかをテストします。 このメソッドは、ファイルが存在することと、このJava仮想マシンに、そのファイルを実行する
ための適切な特権があることを確認します。 ディレクトリへのアクセスをチェックする場合はセマンティックスが異なる場合があります。 たとえば、UNIXシステムでは、実行アクセスのチェックを行うと、Java仮想マシンに、ファイルまたはサブディレクトリにアクセスするためにディレクトリを検索する権限があることが確認されます。実装によっては、このメソッドが、ファイルへの効果的なアクセスをチェックするために、ファイル・アクセス権、アクセス制御リスト、またはその他のファイル属性を読み取る必要がある場合があります。 その結果、このメソッドはほかのファイル・システムの操作に関して原始的でない可能性があります。
このメソッドの結果がすぐに古くなることに注意してください。そのあとのファイルを実行する試みが成功する(あるいは同じファイルにアクセスすることさえ)保証はありません。 このメソッドを、セキュリティ保護を必要とするアプリケーションで使用するときは注意してください。
- パラメータ:
path
- チェックするファイルへのパス- 戻り値:
- ファイルが存在し、実行可能な場合は
true
。ファイルが存在しないか、Java仮想マシンに十分な特権がないために実行アクセスが拒否されるか、またはアクセスを判断できない場合はfalse
- 例外:
SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkExec
が呼び出されてファイルへの実行アクセスがチェックされます。
-
walkFileTree
public static Path walkFileTree(Path start, Set<FileVisitOption> options, int maxDepth, FileVisitor<? super Path> visitor) throws IOException ファイル・ツリーを参照します。このメソッドは、指定された開始ファイルをルートとしたファイル・ツリーを参照します。 このファイル・ツリー・トラバーサルは、ファイルが検出されるごとに呼び出される、指定された
FileVisitor
を使って深さ優先で行われます。 ツリー内のアクセス可能なファイルがすべてビジットされたか、ビジット・メソッドからTERMINATE
という結果が返されると、ファイル・ツリー・トラバーサルは完了します。 ビジット・メソッドがIOException
、キャッチされないエラー、または実行時例外のために終了した場合、そのトラバーサルは停止し、このメソッドの呼出し元にそのエラーまたは例外が通知されます。ファイルが検出されるごとに、このメソッドはその
BasicFileAttributes
の読取りを試みます。 ファイルがディレクトリでない場合は、そのファイル属性でvisitFile
メソッドが呼び出されます。 入出力例外のためにそのファイル属性を読み取れない場合は、その入出力例外でvisitFileFailed
メソッドが呼び出されます。ファイルがディレクトリであり、そのディレクトリを開けなかった場合は、入出力例外で
visitFileFailed
メソッドが呼び出され、その後、デフォルトではそのディレクトリの次の兄弟からファイル・ツリーの参照が再開されます。ディレクトリが正常に開いた場合は、ディレクトリ内のエントリとその子孫がビジットされます。 すべてのエントリがビジットされたか、ディレクトリの反復処理中に入出力エラーが発生した場合、そのディレクトリはクローズされ、ビジターの
postVisitDirectory
メソッドが呼び出されます。 デフォルトでは、そのディレクトリの次の兄弟からファイル・ツリーの参照が再開されます。デフォルトでは、シンボリック・リンクはこのメソッドで自動的にたどられません。
options
パラメータにFOLLOW_LINKS
オプションが含まれている場合は、シンボリック・リンクがたどられます。 リンクをたどっているときに、ターゲットの属性を読み取れない場合、このメソッドはそのリンクのBasicFileAttributes
の取得を試みます。 それらを読み取れる場合は、そのリンクの属性でvisitFile
メソッドが呼び出されます(それ以外の場合は、前述のようにvisitFileFailed
メソッドが呼び出されます)。options
パラメータにFOLLOW_LINKS
オプションが含まれている場合、このメソッドはサイクルを検出できるようにビジットされたディレクトリを追跡します。 サイクルは、ディレクトリの上位ディレクトリの中にエントリが存在する場合に発生します。 サイクルの検出を行うには、ディレクトリのファイル・キー
を記録します。ファイル・キーが利用できない場合は、isSameFile
メソッドを呼び出して、ディレクトリが上位ディレクトリと同じファイルかどうかを判定します。 サイクルが検出されると、それは入出力エラーとして扱われ、FileSystemLoopException
のインスタンスでvisitFileFailed
メソッドが呼び出されます。maxDepth
パラメータは、ビジットするディレクトリ・レベルの最大数です。 値0
は、セキュリティ・マネージャに拒否されないかぎり、開始ファイルのみがビジットされることを意味します。 値MAX_VALUE
を使用すると、すべてのレベルがビジットされるように指定できます。visitFile
メソッドは、基本ファイル属性を読み取れない場合を除き、maxDepth
で検出されるすべてのファイル(ディレクトリを含む)に対して呼び出されます。基本ファイル属性を読み取れない場合は、visitFileFailed
メソッドが呼び出されます。ビジターから
null
という結果が返された場合は、NullPointerException
がスローされます。セキュリティ・マネージャがインストールされていて、ファイル(またはディレクトリ)へのアクセスを拒否する場合、それは無視され、ビジターはそのファイル(またはディレクトリ)に対して呼び出されません。
- パラメータ:
start
- 開始ファイルoptions
- トラバースを構成するオプションmaxDepth
- ビジットするディレクトリ・レベルの最大数visitor
- 各ファイルに対して呼び出すファイル・ビジター- 戻り値:
- 開始ファイル
- 例外:
IllegalArgumentException
-maxDepth
パラメータが負の値の場合SecurityException
- セキュリティ・マネージャが開始ファイルへのアクセスを拒否する場合。 デフォルト・プロバイダの場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。IOException
- ビジター・メソッドによって入出力エラーがスローされた場合
-
walkFileTree
public static Path walkFileTree(Path start, FileVisitor<? super Path> visitor) throws IOException ファイル・ツリーを参照します。このメソッドの呼出しは、式を評価することと同様に動作します。
つまり、それはシンボリック・リンクをたどらず、ファイル・ツリーのすべてのレベルをビジットします。Files.walkFileTree(start, EnumSet.noneOf(FileVisitOption.class), Integer.MAX_VALUE, visitor)
- パラメータ:
start
- 開始ファイルvisitor
- 各ファイルに対して呼び出すファイル・ビジター- 戻り値:
- 開始ファイル
- 例外:
SecurityException
- セキュリティ・マネージャが開始ファイルへのアクセスを拒否する場合。 デフォルト・プロバイダの場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。IOException
- ビジター・メソッドによって入出力エラーがスローされた場合
-
newBufferedReader
public static BufferedReader newBufferedReader(Path path, Charset cs) throws IOException ファイルを読取り用に開き、そのファイルから効果的な方法でテキストを読み取るために使用できるBufferedReader
を返します。 ファイルから取得したバイトは、指定された文字セットを使用して文字にデコードされます。 読取りはファイルの最初から始まります。ファイルから読み取る
Reader
メソッドは、形式が間違っているか、またはマップできないバイト・シーケンスが読み取られた場合にIOException
をスローします。- パラメータ:
path
- ファイルへのパスcs
- デコードに使用する文字セット- 戻り値:
- ファイルからテキストを読み取るための、デフォルトのバッファ・サイズを持つ、バッファに入れられた新しいリーダー
- 例外:
IOException
- ファイルのオープン中に入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 関連項目:
-
newBufferedReader
public static BufferedReader newBufferedReader(Path path) throws IOException ファイルを読込み用に開き、効率的な方法でファイルからテキストを読み込むBufferedReader
を返します。 ファイルから取得したバイトは、UTF-8
文字セット
を使用して文字にデコードされます。このメソッドの呼出しは、式を評価することと同様に動作します。
Files.newBufferedReader(path, StandardCharsets.UTF_8)
- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイルからテキストを読み取るための、デフォルトのバッファ・サイズを持つ、バッファに入れられた新しいリーダー
- 例外:
IOException
- ファイルのオープン中に入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 1.8
-
newBufferedWriter
public static BufferedWriter newBufferedWriter(Path path, Charset cs, OpenOption... options) throws IOException ファイルを書込み用に開くか作成して、そのファイルに効果的な方法でテキストを書き込むために使用できるBufferedWriter
を返します。options
パラメータは、ファイルの作成方法またはオープン方法を指定します。 オプションがない場合、このメソッドはCREATE
、TRUNCATE_EXISTING
、およびWRITE
オプションがあるかのように機能します。 つまり、書込み用にファイルを開きます(存在しない場合は作成し、存在する場合は最初に既存の通常ファイル
をサイズ0
に切り詰めます)。テキストを書き込む
Writer
メソッドは、指定された文字セットを使ってテキストをエンコードできない場合にIOException
をスローします。 バッファリングが原因で、バッファ・ライター「文字」、「フラッシュ」または「閉じる」でエンコーディング・エラー(適用できない文字または不正な形式の入力)が原因のIOException
がスローされる場合があります。- パラメータ:
path
- ファイルへのパスcs
- エンコードに使用する文字セットoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- ファイルにテキストを書き込むための、デフォルトのバッファ・サイズを持つ、バッファに入れられた新しいライター
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合IOException
- ファイルのオープンまたは作成中に入出力エラーが発生した場合UnsupportedOperationException
- 未サポートのオプションが指定された場合FileAlreadyExistsException
- その名前のファイルがすでに存在し、CREATE_NEW
オプションが指定されている場合、(optional specific exception)SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。- 関連項目:
-
newBufferedWriter
public static BufferedWriter newBufferedWriter(Path path, OpenOption... options) throws IOException ファイルを書込み用に開くか作成し、効率的な方法でファイルにテキストを書き込むBufferedWriter
を返します。 テキストは、UTF-8
文字セット
を使用して書込み用にバイトにエンコードされます。このメソッドの呼出しは、式を評価することと同様に動作します。
Files.newBufferedWriter(path, StandardCharsets.UTF_8, options)
- パラメータ:
path
- ファイルへのパスoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- ファイルにテキストを書き込むための、デフォルトのバッファ・サイズを持つ、バッファに入れられた新しいライター
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合IOException
- ファイルのオープンまたは作成中に入出力エラーが発生した場合UnsupportedOperationException
- 未サポートのオプションが指定された場合FileAlreadyExistsException
- その名前のファイルがすでに存在し、CREATE_NEW
オプションが指定されている場合、(optional specific exception)SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。- 導入されたバージョン:
- 1.8
-
copy
public static long copy(InputStream in, Path target, CopyOption... options) throws IOException すべてのバイトを入力ストリームからファイルにコピーします。 復帰すると、その入力ストリームはストリームの終わりに配置されます。デフォルトでは、ターゲット・ファイルがすでに存在するか、シンボリック・リンクである場合、コピーは失敗します。
REPLACE_EXISTING
オプションが指定されていて、ターゲット・ファイルがすでに存在する場合は、それが空でないディレクトリでなければ置換されます。 ターゲット・ファイルが存在し、それがシンボリック・リンクである場合は、そのシンボリック・リンクが置換されます。 このリリースでは、REPLACE_EXISTING
オプションは、このメソッドでサポートされる必要のある唯一のオプションです。 将来のリリースでは、追加のオプションがサポートされる可能性があります。入力ストリームからの読取り中またはファイルへの書込み中に入出力エラーが発生する場合は、ターゲット・ファイルが作成されたあとや、数バイトが読み取られたり、書き込まれたりしたあとでそうなることがあります。 その結果、入力ストリームがストリームの終わりに配置されず、整合性のない状態になる可能性があります。 入出力エラーが発生した場合は入力ストリームをただちにクローズすることを強くお薦めします。
このメソッドは、入力ストリームからの読み取り(またはファイルへの書き込み)を無期限にブロックすることがあります。 コピー中に入力ストリームが非同期クローズされたり、スレッドの割込みが発生したりした場合の動作は、入力ストリームやファイル・システム・プロバイダによって大きく異なるため、特定できません。
使用例: Webページを取得し、それをファイルを保存するとします。
Path path = ... URI u = URI.create("http://www.example.com/"); try (InputStream in = u.toURL().openStream()) { Files.copy(in, path); }
- パラメータ:
in
- 読取り元の入力ストリームtarget
- ファイルへのパスoptions
- コピーをどのように実行するべきかを指定するオプション- 戻り値:
- 読み取られるまたは書き込まれるバイト数
- 例外:
IOException
- 読み取りまたは書込み中に入出力エラーが発生した場合。FileAlreadyExistsException
- ターゲット・ファイルは存在するけれども、REPLACE_EXISTING
オプションが指定されていないために置換できない場合(オプションの固有例外)DirectoryNotEmptyException
-REPLACE_EXISTING
オプションが指定されているけれども、空でないディレクトリであるために置換できない場合(オプションの固有例外)UnsupportedOperationException
- サポートされていないコピー・オプションがoptions
に含まれる場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。REPLACE_EXISTING
オプションが指定されている場合は、セキュリティ・マネージャのcheckDelete
メソッドが呼び出されて、既存のファイルを削除できるかどうかがチェックされます。
-
copy
public static long copy(Path source, OutputStream out) throws IOException すべてのバイトをファイルから出力ストリームにコピーします。ファイルからの読取り中または出力ストリームへの書込み中に入出力エラーが発生する場合は、数バイトが読み取られたり、書き込まれたりしたあとでそうなることがあります。 その結果、出力ストリームが整合性のない状態になる可能性があります。 入出力エラーが発生した場合は出力ストリームをただちにクローズすることを強くお薦めします。
このメソッドは、出力ストリームへの書き込み(またはファイルからの読み取り)を無期限にブロックすることがあります。 コピー中に出力ストリームが非同期クローズされたり、スレッドの割込みが発生したりした場合の動作は、入力ストリームやファイル・システム・プロバイダによって大きく異なるため、特定できません。
指定された出力ストリームが
Flushable
である場合は、バッファに入っている出力をフラッシュするために、このメソッドの完了後に、そのflush
メソッドを呼び出すことが必要になることがあります。- パラメータ:
source
- ファイルへのパスout
- 書込み先の出力ストリーム- 戻り値:
- 読み取られるまたは書き込まれるバイト数
- 例外:
IOException
- 読み取りまたは書込み中に入出力エラーが発生した場合。SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
-
readAllBytes
public static byte[] readAllBytes(Path path) throws IOException ファイルからすべてのバイトを読み取ります。 このメソッドは、すべてのバイトが読み取られたか、入出力エラーまたは他の実行時例外がスローされたときに必ずそのファイルがクローズされるようにします。このメソッドが、すべてのバイトを1つのバイト配列に読み取ると都合が良い簡単なケースで使用するものであることに注意してください。 大きなファイルを読み取ることを目的とはしていません。
- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイルから読み取られたバイトを含むバイト配列
- 例外:
IOException
- ストリームからの読取り中に入出力エラーが発生した場合OutOfMemoryError
- 必要なサイズの配列を割り当てられない場合(ファイルが2GB
を超えるなど)SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。
-
readString
public static String readString(Path path) throws IOException ファイルのすべてのコンテンツを文字列に読み込み、UTF-8
charset
を使用してバイトから文字にデコードします。 このメソッドを使用すると、すべてのコンテンツが読み取られた場合や、I/Oエラーまたはその他の実行時例外がスローされた場合に、ファイルがクローズされます。このメソッドは次のメソッドと同等です:
readString(path, StandardCharsets.UTF_8)
。- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイルから読み込まれたコンテンツを含む文字列
- 例外:
IOException
- ファイルからの読取り中に入出力エラーが発生した場合、または形式が間違っているか、マップできないバイト・シーケンスが読み取られた場合OutOfMemoryError
- ファイルが非常に大きい場合(たとえば、2GB
より大きい場合)SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 11
-
readString
public static String readString(Path path, Charset cs) throws IOException ファイルのすべての文字を文字列に読み込み、指定されたcharsetを使用してバイトから文字にデコードします。 このメソッドを使用すると、すべてのコンテンツが読み取られた場合や、I/Oエラーまたはその他の実行時例外がスローされた場合に、ファイルがクローズされます。このメソッドは、中央または末尾(あるいはその両方)のセパレータを含め、すべてのコンテンツを読み取ります。 生成される文字列には、ファイル内に表示されるセパレータが含まれます。
- APIのノート:
- このメソッドは、ファイルのコンテンツをString内に読みやすくする単純なケースを対象としています。 非常に大きなファイルの読取りは意図していません。
- パラメータ:
path
- ファイルへのパスcs
- デコードに使用する文字セット- 戻り値:
- ファイルから読み込まれたコンテンツを含む文字列
- 例外:
IOException
- ファイルからの読取り中に入出力エラーが発生した場合、または形式が間違っているか、マップできないバイト・シーケンスが読み取られた場合OutOfMemoryError
- ファイルが非常に大きい場合(たとえば、2GB
より大きい場合)SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 11
-
readAllLines
public static List<String> readAllLines(Path path, Charset cs) throws IOException ファイルからすべての行を読み取ります。 このメソッドは、すべてのバイトが読み取られたか、入出力エラーまたは他の実行時例外がスローされたときに必ずそのファイルがクローズされるようにします。 ファイルから取得したバイトは、指定された文字セットを使用して文字にデコードされます。このメソッドは、次を行末記号と認識します。
-
\u000D
と\u000A
、キャリッジ・リターンと改行 -
\u000A
、改行 -
\u000D
、キャリッジ・リターン
将来のリリースでは、追加のUnicode行末記号が認識される可能性があります。
このメソッドが、すべての行を1回の操作で読み取ると都合が良い簡単なケースで使用するものであることに注意してください。 大きなファイルを読み取ることを目的とはしていません。
- パラメータ:
path
- ファイルへのパスcs
- デコードに使用する文字セット- 戻り値:
List
としてファイルからの行;List
が変更可能かどうかは実装に依存するため、指定されていません- 例外:
IOException
- ファイルからの読取り中に入出力エラーが発生した場合、または形式が間違っているか、マップできないバイト・シーケンスが読み取られた場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 関連項目:
-
-
readAllLines
public static List<String> readAllLines(Path path) throws IOException ファイルからすべての行を読み取ります。 ファイルから取得したバイトは、UTF-8
文字セット
を使用して文字にデコードされます。このメソッドの呼出しは、式を評価することと同様に動作します。
Files.readAllLines(path, StandardCharsets.UTF_8)
- パラメータ:
path
- ファイルへのパス- 戻り値:
List
としてファイルからの行;List
が変更可能かどうかは実装に依存するため、指定されていません- 例外:
IOException
- ファイルからの読取り中に入出力エラーが発生した場合、または形式が間違っているか、マップできないバイト・シーケンスが読み取られた場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 1.8
-
write
public static Path write(Path path, byte[] bytes, OpenOption... options) throws IOException バイトをファイルに書き込みます。options
パラメータは、ファイルの作成方法またはオープン方法を指定します。 オプションがない場合、このメソッドはCREATE
、TRUNCATE_EXISTING
、およびWRITE
オプションがあるかのように機能します。 つまり、書込み用にファイルを開きます(存在しない場合は作成し、そうでない場合は最初に既存の通常ファイル
をサイズ0
に切り詰めます)。 バイト配列内のすべてのバイトがファイルに書き込まれます。 このメソッドは、すべてのバイトが書き込まれた(あるいは、入出力エラーまたは他の実行時例外がスローされた)ときに必ずそのファイルがクローズされるようにします。 I/Oエラーが発生した場合は、ファイルが作成または切り捨てられた後、または一部のバイトがファイルに書き込まれた後に、エラーが発生する可能性があります。使用例: デフォルトでは、このメソッドは新しいファイルを作成するか、既存のファイルに上書きします。 その代わりに、バイトを既存のファイルに追加するとします。
Path path = ... byte[] bytes = ... Files.write(path, bytes, StandardOpenOption.APPEND);
- パラメータ:
path
- ファイルへのパスbytes
- 書き込むバイトを含むバイト配列options
- ファイルを開く方法を指定するオプション- 戻り値:
- パス
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合IOException
- ファイルへの書込み中またはファイルの作成中に入出力エラーが発生した場合UnsupportedOperationException
- 未サポートのオプションが指定された場合FileAlreadyExistsException
- その名前のファイルがすでに存在し、CREATE_NEW
オプションが指定されている場合、(optional specific exception)SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。
-
write
public static Path write(Path path, Iterable<? extends CharSequence> lines, Charset cs, OpenOption... options) throws IOException テキスト行をファイルに書き込みます。 各行は文字シーケンスであり、システム・プロパティline.separator
で定義されているように、各行の終端がプラットフォームの行区切り文字で表されるファイルに順々に書き込まれます。 文字は、指定された文字セットを使ってバイトにエンコードされます。options
パラメータは、ファイルの作成方法またはオープン方法を指定します。 オプションがない場合、このメソッドはCREATE
、TRUNCATE_EXISTING
、およびWRITE
オプションがあるかのように機能します。 つまり、書込み用にファイルを開きます(存在しない場合は作成し、そうでない場合は最初に既存の通常ファイル
をサイズ0
に切り詰めます)。 このメソッドは、すべての行が書き込まれた(あるいは、入出力エラーまたは他の実行時例外がスローされた)ときに必ずそのファイルがクローズされるようにします。 I/Oエラーが発生した場合は、ファイルが作成または切り捨てられた後、または一部のバイトがファイルに書き込まれた後に、エラーが発生する可能性があります。- パラメータ:
path
- ファイルへのパスlines
- 文字シーケンスすべてについて反復処理を行うオブジェクトcs
- エンコードに使用する文字セットoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- パス
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合IOException
- ファイルへの書込み中またはファイルの作成中に入出力エラーが発生したか、指定された文字セットを使ってテキストをエンコードできない場合UnsupportedOperationException
- 未サポートのオプションが指定された場合FileAlreadyExistsException
- その名前のファイルがすでに存在し、CREATE_NEW
オプションが指定されている場合、(optional specific exception)SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。
-
write
public static Path write(Path path, Iterable<? extends CharSequence> lines, OpenOption... options) throws IOException テキスト行をファイルに書き込みます。 文字は、UTF-8
文字セット
を使用してバイトにエンコードされます。このメソッドの呼出しは、式を評価することと同様に動作します。
Files.write(path, lines, StandardCharsets.UTF_8, options)
- パラメータ:
path
- ファイルへのパスlines
- 文字シーケンスすべてについて反復処理を行うオブジェクトoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- パス
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合IOException
- ファイルへの書込み中またはファイルの作成中に入出力エラーが発生したか、UTF-8
としてテキストをエンコードできない場合UnsupportedOperationException
- 未サポートのオプションが指定された場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。- 導入されたバージョン:
- 1.8
-
writeString
public static Path writeString(Path path, CharSequence csq, OpenOption... options) throws IOException CharSequenceをファイルに書き込みます。 文字は、UTF-8
文字セット
を使用してバイトにエンコードされます。このメソッドは次のメソッドと同等です:
writeString(path, csq, StandardCharsets.UTF_8, options)
。- パラメータ:
path
- ファイルへのパスcsq
- 書き込まれるCharSequenceoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- パス
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合IOException
- ファイルの書込みまたは作成中にI/Oエラーが発生した場合、またはUTF-8を使用してテキストをエンコードできない場合UnsupportedOperationException
- 未サポートのオプションが指定された場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。- 導入されたバージョン:
- 11
-
writeString
public static Path writeString(Path path, CharSequence csq, Charset cs, OpenOption... options) throws IOException CharSequenceをファイルに書き込みます。 指定されたcharsetを使用して文字がバイトにエンコードされます。すべての文字は、charシーケンスの行セパレータを含め、そのまま書き込まれます。 余分な文字は追加されません。
options
パラメータは、ファイルの作成方法またはオープン方法を指定します。 オプションがない場合、このメソッドはCREATE
、TRUNCATE_EXISTING
、およびWRITE
オプションがあるかのように機能します。 つまり、書込み用にファイルを開きます(存在しない場合は作成し、そうでない場合は最初に既存の通常ファイル
をサイズ0
に切り詰めます)。- パラメータ:
path
- ファイルへのパスcsq
- 書き込まれるCharSequencecs
- エンコードに使用する文字セットoptions
- ファイルを開く方法を指定するオプション- 戻り値:
- パス
- 例外:
IllegalArgumentException
-options
にオプションの無効な組み合わせが含まれる場合IOException
- ファイルへの書込み中またはファイルの作成中に入出力エラーが発生したか、指定された文字セットを使ってテキストをエンコードできない場合UnsupportedOperationException
- 未サポートのオプションが指定された場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkWrite
メソッドが呼び出されてファイルへの書込みアクセスがチェックされます。DELETE_ON_CLOSE
オプションでファイルが開かれた場合は、checkDelete
メソッドが呼び出されて削除アクセスがチェックされます。- 導入されたバージョン:
- 11
-
list
public static Stream<Path> list(Path dir) throws IOException ディレクトリ内のエントリを要素に持つ遅延設定Stream
を返します。 リストは再帰的ではありません。ストリームの要素は、
dir
に対してディレクトリ・エントリの名前を解決
したかのように取得されるPath
オブジェクトです。 一部のファイル・システムでは、ディレクトリ自体やディレクトリの親ディレクトリへの特殊なリンクを保持しています。 これらのリンクを表すエントリは含まれません。ストリームは、弱一貫性を保持します。 それはスレッド・セーフですが、反復処理中にディレクトリをフリーズしないため、このメソッドからの復帰後に行われる更新がディレクトリに反映されることも反映されないこともあります。
返されたストリームには、開いているディレクトリへの参照が含まれています。 ディレクトリは、ストリームを閉じて閉じます。
クローズされたストリームに対する操作は、ストリームの終わりに達したかのように動作します。 先読みが原因で、ストリームがクローズされた後に1つ以上の要素が返されることがあります。
このメソッドの復帰後にディレクトリにアクセスするときに
IOException
がスローされる場合、アクセスが発生する原因となったメソッドからスローされるUncheckedIOException
にラップされます。- APIのノート:
- このメソッドは、try-with-resources文または同様の制御構造内で使用して、ストリームの操作が完了した後にストリームのオープン・ディレクトリがすぐに閉じられるようにする必要があります。
- パラメータ:
dir
- ディレクトリへのパス- 戻り値:
- ディレクトリの内容を記述する
Stream
- 例外:
NotDirectoryException
- ファイルがディレクトリではないために開けなかった場合(オプションの固有例外)IOException
- ディレクトリを開いているときに入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 1.8
- 関連項目:
-
walk
public static Stream<Path> walk(Path start, int maxDepth, FileVisitOption... options) throws IOException 指定された開始ファイルをルートとするファイル・ツリーを参照することでPath
が遅延移入されるStream
を返します。 ファイル・ツリーは深さ優先でトラバースされます。ストリーム内の要素は、start
に対して相対パスを解決
したかのように取得されるPath
オブジェクトです。stream
は、要素が消費されるときにファイル・ツリーを参照します。 返されるStream
には、少なくとも1つの要素(開始ファイル自体)が含まれることが保証されます。 ビジットされるファイルごとに、ストリームはそのBasicFileAttributes
の読取りを試みます。 ファイルがディレクトリであり、正常に開くことができた場合は、ディレクトリ内のエントリとその子孫が、検出されたときにディレクトリに続いてストリームに含められます。 すべてのエントリがビジットされたら、ディレクトリはクローズされます。 そのディレクトリの次の兄弟からファイル・ツリーの参照が再開されます。ストリームは、弱一貫性を保持します。 それは反復処理中にファイルをフリーズしないため、このメソッドからの復帰後に行われる更新がファイル・ツリーに反映されることも反映されないこともあります。
デフォルトでは、シンボリック・リンクはこのメソッドで自動的にたどられません。
options
パラメータにFOLLOW_LINKS
オプションが含まれている場合は、シンボリック・リンクがたどられます。 リンクをたどっているときに、ターゲットの属性を読み取れない場合、このメソッドはそのリンクのBasicFileAttributes
の取得を試みます。options
パラメータにFOLLOW_LINKS
オプションが含まれている場合、このストリームはサイクルを検出できるようにビジットされたディレクトリを追跡します。 サイクルは、ディレクトリの上位ディレクトリの中にエントリが存在する場合に発生します。 サイクルの検出を行うには、ディレクトリのファイル・キー
を記録します。ファイル・キーが利用できない場合は、isSameFile
メソッドを呼び出して、ディレクトリが上位ディレクトリと同じファイルかどうかを判定します。 サイクルが検出されると、それはFileSystemLoopException
のインスタンスを伴う入出力エラーとして扱われます。maxDepth
パラメータは、ビジットするディレクトリ・レベルの最大数です。 値0
は、セキュリティ・マネージャに拒否されないかぎり、開始ファイルのみがビジットされることを意味します。 値MAX_VALUE
を使用すると、すべてのレベルがビジットされるように指定できます。セキュリティ・マネージャがインストールされていて、ファイル(またはディレクトリ)へのアクセスを拒否する場合、それは無視され、ストリームに含められません。
返されるストリームには、1つ以上のオープン・ディレクトリへの参照が含まれています。 ディレクトリは、ストリームを閉じて閉じます。
このメソッドの復帰後にディレクトリにアクセスするときに
IOException
がスローされる場合、アクセスが発生する原因となったメソッドからスローされるUncheckedIOException
にラップされます。- APIのノート:
- このメソッドは、try-with-resources文または同様の制御構造内で使用して、ストリームの操作が完了した後、ストリームのオープン・ディレクトリがすぐに閉じられるようにする必要があります。
- パラメータ:
start
- 開始ファイルmaxDepth
- ビジットするディレクトリ・レベルの最大数options
- トラバースを構成するオプション- 戻り値:
Path
のStream
- 例外:
IllegalArgumentException
-maxDepth
パラメータが負の値の場合SecurityException
- セキュリティ・マネージャが開始ファイルへのアクセスを拒否する場合。 デフォルト・プロバイダの場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。IOException
- 開始ファイルにアクセスしているときに入出力エラーがスローされる場合- 導入されたバージョン:
- 1.8
-
walk
public static Stream<Path> walk(Path start, FileVisitOption... options) throws IOException 指定された開始ファイルをルートとするファイル・ツリーを参照することでPath
が遅延移入されるStream
を返します。 ファイル・ツリーは深さ優先でトラバースされます。ストリーム内の要素は、start
に対して相対パスを解決
したかのように取得されるPath
オブジェクトです。このメソッドの呼出しは、式を評価することと同様に動作します。
つまり、それはファイル・ツリーのすべてのレベルをビジットします。Files.walk(start, Integer.MAX_VALUE, options)
返されるストリームには、1つ以上のオープン・ディレクトリへの参照が含まれています。 ディレクトリは、ストリームを閉じて閉じます。
- APIのノート:
- このメソッドは、try-with-resources文または同様の制御構造内で使用して、ストリームの操作が完了した後、ストリームのオープン・ディレクトリがすぐに閉じられるようにする必要があります。
- パラメータ:
start
- 開始ファイルoptions
- トラバースを構成するオプション- 戻り値:
Path
のStream
- 例外:
SecurityException
- セキュリティ・マネージャが開始ファイルへのアクセスを拒否する場合。 デフォルト・プロバイダの場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。IOException
- 開始ファイルにアクセスしているときに入出力エラーがスローされる場合- 導入されたバージョン:
- 1.8
- 関連項目:
-
find
public static Stream<Path> find(Path start, int maxDepth, BiPredicate<Path, BasicFileAttributes> matcher, FileVisitOption... options) throws IOException指定された開始ファイルをルートとするファイル・ツリー内でファイルを検索することでPath
が遅延設定されるStream
を返します。このメソッドは、
walk
メソッドで指定されたとおりにファイル・ツリーを参照します。 検出されたファイルごとに、そのPath
およびBasicFileAttributes
を使用して、指定されたBiPredicate
が呼び出されます。Path
オブジェクトは、start
に対して相対パスを解決
したかのように取得され、BiPredicate
がtrueを返す場合にのみ、返されるStream
に含められます。walk
メソッドによって返されるStream
に対してfilter
を呼び出すことと比較して、このメソッドは、BasicFileAttributes
の冗長な取得を回避することでより効率的な場合があります。返されるストリームには、1つ以上のオープン・ディレクトリへの参照が含まれています。 ディレクトリは、ストリームを閉じて閉じます。
このメソッドからの復帰後にディレクトリにアクセスするときに
IOException
がスローされる場合、アクセスが発生する原因となったメソッドからスローされるUncheckedIOException
にラップされます。- APIのノート:
- このメソッドは、try-with-resources文または同様の制御構造内で使用して、ストリームの操作が完了した後、ストリームのオープン・ディレクトリがすぐに閉じられるようにする必要があります。
- パラメータ:
start
- 開始ファイルmaxDepth
- 検索するディレクトリ・レベルの最大数matcher
- 返されるストリームにファイルを含める必要があるかどうかの判定に使用される関数options
- トラバースを構成するオプション- 戻り値:
Path
のStream
- 例外:
IllegalArgumentException
-maxDepth
パラメータが負の値の場合SecurityException
- セキュリティ・マネージャが開始ファイルへのアクセスを拒否する場合。 デフォルト・プロバイダの場合は、checkRead
メソッドが呼び出されてディレクトリへの読取りアクセスがチェックされます。IOException
- 開始ファイルにアクセスしているときに入出力エラーがスローされる場合- 導入されたバージョン:
- 1.8
- 関連項目:
-
lines
public static Stream<String> lines(Path path, Charset cs) throws IOException ファイル内のすべての行をStream
として読み取ります。readAllLines
とは異なり、このメソッドはすべての行をList
に読み込むことはしませんが、ストリームが消費されたときに遅延設定します。ファイルから取得したバイトは指定された文字セットを使用して文字にデコードされ、
readAllLines
で指定されているものと同じ行末記号がサポートされます。返されたストリームには、開いているファイルへの参照が含まれています。 ファイルは、ストリームを閉じて閉じます。
端末ストリーム操作の実行中は、ファイルの内容を変更しないでください。 そうしない場合、ストリーム終端操作の結果は保証されません。
このメソッドが復帰した後、ファイルからの読取り中、または形式が間違っているか、またはマップできないバイト・シーケンスが読み取られるときに発生するすべての後続の入出力例外は、読取りが発生する原因となった
Stream
のメソッドからスローされるUncheckedIOException
にラップされます。 ファイルのクローズ時にIOException
がスローされる場合、これもUncheckedIOException
としてラップされます。- APIのノート:
- このメソッドは、try-with-resources文または同様の制御構造内で使用して、ストリームの操作の完了後にストリームのオープン・ファイルがすぐに閉じられるようにする必要があります。
- 実装上のノート:
- この実装は、標準の文字セット
UTF-8
、US-ASCII
、およびISO-8859-1
の良好な並列ストリーム・パフォーマンスをサポートしています。 このようなline-optimal文字セットには、ファイルのバイトにランダムにアクセスするときに、改行(' ')または改行('\r')のエンコードされたバイトが他のエンコードされた文字から効率的に識別できるプロパティがあります。line-optimal以外の文字セットの場合、ストリーム・ソースのスプリッテレータは、イテレータに関連付けられているスプリッテレータや、
BufferedReader.lines()
から返されたストリームに関連付けられているスプリッテレータと同様、分割プロパティが不適切です。 プロパティを分割しないと、並列ストリームのパフォーマンスが低下する可能性があります。line-optimal文字セットの場合、ストリーム・ソースのスプリッタには適切な分割プロパティがあり、ファイルに通常の行シーケンスが含まれていると仮定します。 適切な分割プロパティを使用すると、並列ストリームのパフォーマンスが向上する可能性があります。 line-optimal文字セットのスプリッタは、文字セット・プロパティ(効率的に識別可能なライン・フィードまたはキャリッジ・リターン)を利用して、分割時に、対象となる行数を半分に分割できるようにします。
- パラメータ:
path
- ファイルへのパスcs
- デコードに使用する文字セット- 戻り値:
- ファイルから1つの
Stream
として読み取られた行 - 例外:
IOException
- ファイルのオープン中に入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 1.8
- 関連項目:
-
lines
public static Stream<String> lines(Path path) throws IOException ファイル内のすべての行をStream
として読み取ります。 ファイルから取得したバイトは、UTF-8
文字セット
を使用して文字にデコードされます。返されたストリームには、開いているファイルへの参照が含まれています。 ファイルは、ストリームを閉じて閉じます。
端末ストリーム操作の実行中は、ファイルの内容を変更しないでください。 そうしない場合、ストリーム終端操作の結果は保証されません。
このメソッドの呼出しは、式を評価することと同様に動作します。
Files.lines(path, StandardCharsets.UTF_8)
- APIのノート:
- このメソッドは、try-with-resources文または同様の制御構造内で使用して、ストリームの操作の完了後にストリームのオープン・ファイルがすぐに閉じられるようにする必要があります。
- パラメータ:
path
- ファイルへのパス- 戻り値:
- ファイルから1つの
Stream
として読み取られた行 - 例外:
IOException
- ファイルのオープン中に入出力エラーが発生した場合SecurityException
- デフォルト・プロバイダで、セキュリティ・マネージャがインストールされている場合は、checkRead
メソッドが呼び出されてファイルへの読取りアクセスがチェックされます。- 導入されたバージョン:
- 1.8
-