システム学習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
    同上値の文字表示
    コンストラクタといくつかの方法の例は次のとおりです.
    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を返します.