Fileクラスの研究ノート

ファイル概要:コンピュータ内のすべてのデータがストアに形式のファイルであります
javaファイルに考えて抽象ファイルのディレクトリパスとファイル名を表現===>オブジェクトファイルクラスです。
ファイルの種類
コンストラクタの概要:
  ファイル(ファイルの親、文字列の子は)親抽象パス名および子パス名文字列から新しいFileのインスタンスを生成します。
  指定されたパス名によるファイル(文字列のパス名)は、新しいFileのインスタンスを作成するために、抽象パス名文字列に変換します。
  ファイル(文字列の親、文字列の子は)親パス名文字列および子パス名文字列から新しいFileのインスタンスを生成します。
 
Fileクラスのメンバメソッド:
 
作成機能:(ファイルが指すオブジェクトが存在しない場合は、それが作成されていない存在、作成されたファイルを作成します)

   指定された名前のファイルがこの抽象パス名が存在しない場合のみでCreateNewFile()の場合は、ブール値、不可分新しい空のファイルを作成します。

   mkdirs()が必要だが、存在しない親ディレクトリを含むディレクトリのこの抽象パス名を、作成します。

   mkdir()この抽象パス名が指定されたディレクトリを作成します。

  1. / * コンストラクタの概要
        ファイル(ファイルの親、文字列の子)
        親抽象パス名および子パス名文字列から新しいFileのインスタンスを生成します。
        ファイル(文字列のパス名)
        抽象パス名に指定したパス名文字列を変換して、新しいFileのインスタンスを作成します。
        ファイル(文字列の親、文字列の子)
        親パス名文字列および子パス名文字列から新しいFileのインスタンスを生成します。
    */
    public class FileTest {
        //1.File(String pathname)
        File file1 = new File("G:\\1\\a.txt");
        //2.File(String parent, String child)  java中文件夹是一种特殊的文件,只不过文件夹中放的是其他文件或文件夹,而文件中放的是数据
        File file2 = new File("G:\\1","a.txt");
        //3.File(File parent, String child)
        File file = new File("G:\\1");
        File file3 = new File(file,"a.txt");
        //三种方式创建的File的对象是同一个,指向了G盘下名称为1的文件下的a.txt文件
    }
     1 /**
     2  * boolean createNewFile()当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
     3  * mkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
     4  * mkdir()创建此抽象路径名指定的目录。
     5  */
     6 
     7 public class FileTest2 {
     8     public static void main(String[] args) throws IOException {
     9         //boolean createNewFile()
    10         //如果此处不指定创建地址,默认在本项目路径下创建文件;如果地址不存在或者错误则报IO异常
    11         File file = new File("G:\\1\\b.txt");
    12         boolean result = file.createNewFile();
    13         System.out.println(result);
    14     }
    15 }

/**
     * boolean createNewFile()当且仅当不存在具有此抽象路径名指定名称的文件时,不可分地创建一个新的空文件。
     * mkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
     * mkdir()创建此抽象路径名指定的目录。
     */
    public static void main(String[] args) throws IOException {
        //mkdirs()创建此抽象路径名指定的目录,包括所有必需但不存在的父目录。
        //     * mkdir()创建此抽象路径名指定的目录。
        File file = new File("G:\\1\\A");
        boolean result = file.mkdir();
        System.out.println(result);
        //=================================================
        //mkdirs()方法会自动补全A文件夹之前不存在的B文件夹,也就说他可以自动创建多级的文件夹,功能比mkdir()要强大,建议使用
        File file2 = new File("G:\\1\\B\\A");
        boolean result2 = file2.mkdirs();
        System.out.println(result2);
        //==================================================
        File file3 = new File("A");//具体是创建文件还是文件夹看调用的具体方法
        //file3.createNewFile();//会在本项目路径下创建一个名称为A的文件;(没有后缀名)
        file3.mkdirs();//会在本项目路径下创建一个名称为A的文件夹;注意!同一个项目下,文件和文件夹不要重名

    }

}

删除功能:

      delete()删除由此抽象路径名表示的文件或目录。

 1 /**
 2  * delete()删除由此抽象路径名表示的文件或目录。
 3  */
 4 public class FileTest4 {
 5     public static void main(String[] args) {
 6         File file = new File("A");
 7         boolean result = file.delete();
 8         System.out.println(result);//删除成功返回true
 9         File file1 = new File("G:\\1\\b.txt");
10         boolean result2 = file1.delete();
11         System.out.println(result2);//删除成功返回true
12         //=====================================================
13         //如果删除的文件夹下还有文件会删除成功吗?
14         File file2 = new File("G:\\1\\B\\");
15         boolean result3 = file2.delete();
16         System.out.println(result3);//返回false,如果要删除的文件夹不是根目录则不会删除成功
17     }
18 }

重命名功能

    renameTo(File dest)重命名由此抽象路径名表示的文件。

 1 /**
 2  * renameTo(File dest)重命名由此抽象路径名表示的文件。
 3  * 进阶用法:完成文件的剪切+改名
 4  */
 5 public class FileTest5 {
 6     public static void main(String[] args) throws IOException {
 7         File file = new File("C");
 8         File file1 = new File("c.txt");
 9         file.mkdir();
10         file1.createNewFile();
11         //把C改名CC,c.txt改名cc.txt;
12         File file3 = new File("CC");
13         file.renameTo(file3);
14         File file4 = new File("cc.txt");
15         file1.renameTo(file4);
16         //以上比较麻烦,可以 file.renameTo(new File("CC"));
17        //===============================================
18         //此时cc.txt被移动到G盘下的文件夹1中,并且改名为ccc.txt,原tt.txt从原路径删除;
19         file4.renameTo(new File("G:\\1\\ccc.txt"));
20     }
21 }

判断功能

boolean isDirectory()测试此抽象路径名表示的文件是否为目录。
boolean isFile()测试此抽象路径名表示的文件是否为普通文件。
boolean isHidden()测试此抽象路径名命名的文件是否为隐藏文件。

boolean canRead()测试应用程序是否可以读取由此抽象路径名表示的文件。
boolean canWrite()测试应用程序是否可以修改由此抽象路径名表示的文件。

boolean exists()测试此抽象路径名表示的文件或目录是否存在。

 

 1 /**boolean exists()测试此抽象路径名表示的文件或目录是否存在。
 2  *boolean isDirectory()测试此抽象路径名表示的文件是否为目录。
 3  * boolean isFile()测试此抽象路径名表示的文件是否为普通文件。
 4  * boolean isHidden()测试此抽象路径名命名的文件是否为隐藏文件。
 5  * boolean canRead()测试应用程序是否可以读取由此抽象路径名表示的文件。
 6  * boolean canWrite()测试应用程序是否可以修改由此抽象路径名表示的文件。
 7  */
 8 public class FileTest6 {
 9     public static void main(String[] args) throws IOException {
10         File file = new File("C");
11         File file1 = new File("c.txt");
12         file.mkdir();
13         file1.createNewFile();
14 
15         //boolean isDirectory()测试此抽象路径名表示的文件是否为目录。
16         boolean rs = file.isDirectory();
17         System.out.println(rs);//true
18         boolean rs2 = file1.isFile();
19         System.out.println(rs2);//true
20 
21         //boolean exists()测试此抽象路径名表示的文件或目录是否存在。
22         boolean rs3 = file.exists();
23         System.out.println(rs3);//存在返回true
24         boolean rs4 = file1.exists();
25         System.out.println(rs4);//true
26 
27         //boolean canRead()测试应用程序是否可以读取由此抽象路径名表示的文件。
28         // * boolean canWrite()测试应用程序是否可以修改由此抽象路径名表示的文件。
29         if(file1.canRead()&&file1.canWrite()){
30             System.out.println("该文件可读取并且可写入");
31         };
32 
33         //boolean isHidden()测试此抽象路径名命名的文件是否为隐藏文件。
34         boolean rs5 = file1.isHidden();
35         System.out.println(rs5);//返回false,具体操作可选择文件属性设置为隐藏则返回true
36     }
37 }

 

 

 

获取功能

  相对路径,相对于当前项目的路径而言
  绝对路径,从磁盘的盘符位置开始的路径

    String getAbsolutePath()返回此抽象路径名的绝对路径名字符串
    String getPath()将此抽象路径名转换为路径名字符串。
    String getName()返回由此抽象路径名表示的文件或目录的名称。
    long length()返回由此抽象路径名表示的文件的长度。
    long lastModified()返回此抽象路径名表示的文件上次修改的时间
    String[] list()返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
    File[] listFiles()返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。

 

 1 /**
 2  String[] list()返回一个字符串数组,命名由此抽象路径名表示的目录中的文件和目录。
 3 
 4  File[] listFiles()返回一个抽象路径名数组,表示由该抽象路径名表示的目录中的文件。
 5  *
 6  */
 7 
 8 public class FileTest8 {
 9     public static void main(String[] args) {
10         //String[] list()返回一个字符串数组,该文件下所有文件和文件夹的名称。
11         File file = new File("G:\\1");
12         String[] names = file.list();
13         for (String name : names) {
14             System.out.println(name);
15         }
16         //================================
17 
18         //File[] listFiles()返回一个抽象路径名数组,表示是所有文件或文件夹对象
19         File[] files = file.listFiles();
20         for (File f : files) {
21             System.out.println(f.getAbsolutePath());
22         }
23     }
24 
25 }

 

 

 

 

おすすめ

転載: www.cnblogs.com/yzccc/p/12142639.html
おすすめ