システム学習Java IO(三)----ファイル類File
2986 ワード
ディレクトリ:システム学習Java IO----ディレクトリ、概要
Java IO APIのFileクラスは、ベースファイルシステムにアクセスできます.Fileクラスを使用して、次のことができます.ファイルまたはディレクトリが存在するかどうかを確認します. ディレクトリが存在しない場合は、ディレクトリを作成します. ファイルの長さを読み込みます. ファイルの名前を変更または移動します. ファイルを削除します. パスがファイルかディレクトリかを確認します. ディレクトリのファイルリストを読み込みます.
注意:Fileでは、ファイルとファイルシステムのメタデータにのみアクセスできます.ファイルの内容の読み取りまたは書き込みが必要な場合は、FileInputStream、FileOutputStream、またはRandomAccessFileを使用して実行します.
Fileクラスには4つのフィールドがあり、プラットフォームに関係のない文字をいくつか提供できます.
フィールド
説明
static String pathSeparator
システムに関連するパス区切り記号は、便宜上文字列として表されます.
static char pathSeparatorChar
同上値の文字表示では、UNIXシステムは'/'、Windowsシステムは'\'.
static String separator
システムに関連するデフォルトの名前区切り記号、Unixシステムは':'Windowsシステムは';'
public static final char pathSeparatorChar
同上値の文字表示
コンストラクタといくつかの方法の例は次のとおりです.
Java IO APIのFileクラスは、ベースファイルシステムにアクセスできます.Fileクラスを使用して、次のことができます.
注意:Fileでは、ファイルとファイルシステムのメタデータにのみアクセスできます.ファイルの内容の読み取りまたは書き込みが必要な場合は、FileInputStream、FileOutputStream、またはRandomAccessFileを使用して実行します.
Fileクラスには4つのフィールドがあり、プラットフォームに関係のない文字をいくつか提供できます.
フィールド
説明
static String pathSeparator
システムに関連するパス区切り記号は、便宜上文字列として表されます.
static char pathSeparatorChar
同上値の文字表示では、UNIXシステムは'/'、Windowsシステムは'\'.
static String separator
システムに関連するデフォルトの名前区切り記号、Unixシステムは':'Windowsシステムは';'
public static final char pathSeparatorChar
同上値の文字表示
コンストラクタといくつかの方法の例は次のとおりです.
public class FileExample {
public static void main(String[] args) throws IOException, URISyntaxException {
// File 4 , :
File parentDir = new File("D://test"); //
File file1 = new File("D://test//file1.txt"); //
File file2 = new File(parentDir, "childDir"); //
File uri = new File(new URI("file:/D:/test/uri")); // URI
/*
File , , ,
file1.txt , childDir
*/
parentDir.mkdirs(); // test
file1.mkdirs(); // file1.txt
file2.createNewFile(); // childDir
file2.mkdirs(); // file2 childDir , childDir
uri.mkdirs();
System.out.println(uri.exists());
System.out.println(file1.getName()); // file1.txt
System.out.println(file1.exists()); // true
System.out.println(file1.isFile()); // false
System.out.println(file1.isAbsolute()); // true
System.out.println(file1.getAbsolutePath()); // ,D:\test\file1.txt
System.out.println(file1.getAbsoluteFile()); // new File(this.getAbsolutePath())
System.out.println(file1.toURI()); // file:/D:/test/file1.txt/
// ,C:\ D:\
File[] files = File.listRoots();
for (int i = 0; i < files.length; i++) {
System.out.println(files[i]);
}
/* parentDir
D:\test\childDir
D:\test\file1.txt
D:\test\ uri
*/
File[] fs = parentDir.listFiles();
for (int i = 0; i < fs.length; i++) {
System.out.println(fs[i]);
}
// 。 , 。
file1.delete();
// ,JVM
parentDir.deleteOnExit();
}
}
注:boolean mkdirs()
メソッドは、この抽象パス名で指定されたディレクトリを作成します.この抽象パス名には、必要であるが存在しないすべての親ディレクトリが含まれます.この操作が失敗した場合、必要な親ディレクトリの一部が正常に作成された可能性があります.ディレクトリが既に存在する場合はfalseを返します.