1. 程式人生 > 其它 >IO流--File類

IO流--File類

File類

一個File的物件就表示一個計算機中的檔案或者目錄(資料夾)

		/*
        File類的構造方法的3種方式
         */
        File f =new File("D:/Users/17509/Desktop/非凡/IO/demo.txt");


        String p="D:/Users/17509/Desktop/非凡/IO/";
        File f1= new File(p,"demo.txt");
        File f2= new File(p,"Api");


        File fp = new File("D:/Users/17509/Desktop/非凡/IO/");
        File f3 = new File(fp,"demo.txt");
        File f4 = new File(fp,"Api");
        		

File類中的功能

File f = new File("D:/IO/demo.txt");//在建立File物件時,不檢測檔案是否存在
        System.out.println(f.length());//獲取檔案內容的長度,以位元組為單位
        System.out.println(f.getParent());
        System.out.println(f.getName());
        System.out.println(f.getAbsolutePath());//獲得相對路徑的檔案絕對路徑
        System.out.println(f.exists());//是否存在

        System.out.println(f.isDirectory());//判斷是否為資料夾
        System.out.println(f.isHidden());//判斷檔案是否為隱藏檔案
        System.out.println(f.isAbsolute());//判斷檔案是否為絕對路徑
        System.out.println(f.canWrite());//修改檔案屬性為可寫
        System.out.println(f.canRead());//修改檔案屬性為可讀
        System.out.println(f.canExecute());
        System.out.println(f.getPath());//獲得路徑
        System.out.println(f.lastModified());//獲取最後修改時間
    

對檔案的操作

  public static void main(String[] args) {
         /*
        createNewFile()  建立檔案
        如果已經存在,就不建立了,返回false
        如果不存在,就建立 返回true
        如果碟符/地址在計算機沒有,直接丟擲異常
         */
       /* File f = new File("G:/demo.txt");
        try {
            System.out.println(f.createNewFile());
        } catch (IOException e) {
            e.printStackTrace();
        }
        System.out.println(f.delete());//刪除檔案,存在返回true,不存在,返回false*/

      /*  File f = new File("E:/demo/demo");
        System.out.println(f.mkdir());//只能建立單級資料夾
        f.mkdirs();//可以建立多級資料夾
        f.delete();//刪除時資料夾必須為空*/

        File f = new File("E:");
        //獲取指定目錄下的所有自己的檔案或者目錄,以字串形式返回
       /* String [] s = f.list();
        for (String arr:s) {
            System.out.println(arr);
        }*/

        //新增篩選條件,篩選檔案
        /*String [] arr = f.list(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return StringUtil.subFileType(name).equalsIgnoreCase("txt");
            }
        });
        for (String arr0:arr) {
            System.out.println(arr0);
        }*/

        File[] fs = f.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                return StringUtil.subFileType(name).equalsIgnoreCase("txt");
            }
        });
        for (File ft:fs) {
            System.out.println(ft);
        }

        File f1 =new File("E:/log.txt");
        File f2 =new File("E:/newLog.txt");
        f1.renameTo(f2);//對檔案進行重新命名
    }