【Java】ファイル操作
Javaでのファイル操作
Fileクラス(java.io)
コンストラクタ
また、A:\B:\のような不正なパス(空文字もOK)も問題なくインスタンス化可能
①のparentがnullの場合は、childがそのままパスとされ、それ以外はNullPointerException
File(File parent, String child)// ①
File(String pathname)// ②
File(String parent, String child)// ③
File(URI uri)// ④
③のコンストラクタでの区切り文字について、考えられる以下のいずれもA:\B\C\Dになる
var file1 = new File("A:\\B\\", "C\\D");
var file2 = new File("A:\\B", "C\\D");
var file3 = new File("A:\\B", "\\C\\D");
var file4 = new File("A:\\B\\", "\\C\\D");
var file5 = new File("A:\\B\\\\\\\\", "\\\\\\\\\\C\\D");
String toString()
Path toPath()
File listFiles()
String list()
boolean exists()
Pathインタフェース(java.nio.file)
特別な区切り文字で区切られた一連のディレクトリ名およびファイル名の要素(名前要素)で構成される階層構造を持つ
Fileクラスで可能な操作は基本的にPathインタフェースでも可能
コンストラクタ
FileSystems.getDefault().getPath(String first, String... more)
Paths.get(Uri uri)
Paths.get(String first, String... more)
Fileクラスと大きく異なる点は、A:\B:\のような不正なパス(空文字はOK)はInvalidPathExceptionが発生ただし、WindowsPathParserのエラーなのでOSが異なる場合は不明
Fileクラスと異なり可変長引数で、各引数の結合時の区切り文字はFileクラスと同様