Java基礎IO類之File類

大三了,目前基礎太差了,從新學習過!代碼以下,裏面都有詳細的解釋每一行代碼表明的意思~java

 

package IODemo;

import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;

public class FileDemo {
    public static void main(String[] args) {

        // File表示一個文件或者目錄
        //  "d:\\test\\test.txt" 或者 "d:/test/test.txt")

        File f1 = new File("d:\\test\\test.txt");
        if(!f1.exists()){  //判斷該文件是否存在,若是不存在就建立
            try {
                f1.createNewFile(); // 建立該文件
                System.out.println("文件建立成功!");
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
        // f1.isDirectory()  若是是文件夾就返回 true 不是就返回false
        System.out.println("f1是不是文件:"+f1.isFile());

        File f2 = new File("d:\\test\\my"); // 這個路徑中my文件夾 這個文件夾之中有文件
         boolean b =  f2.delete(); // 用變量b接受 看 刪除的結果
        System.out.println("刪除的結果是:"+b);   // 返回的是 false 沒有刪除這個文件夾,必需要刪除這個文件夾裏面的文件才能夠刪除這個文件夾

        String[] names = f2.list();//列出該目錄下的全部文件名
        System.out.println( Arrays.toString(names));  //打印出String數組裏面的東西

        File[] fs = f2.listFiles(); //列出當前目錄下的全部文件,而且以file 對象返回
        for (File f :
                fs) {    // for循環的加強 就是說遍歷File集合中的每個File對象f
            System.out.println("lenght="+f.length());
            System.out.println("name="+f.getName());
            System.out.println("相對路徑="+f.getPath());
            System.out.println("絕對路徑="+f.getAbsolutePath());
            System.out.println("是否爲隱藏文件="+f.isHidden());
            Date date = new Date(f.lastModified());// 獲取文件的最後修改的日期  須要用日期類進行格式化
            DateFormat df = new SimpleDateFormat("HH:MM:SS");  // 格式化
            System.out.println("日期:"+df.format(date));
        }

        //文件夾的操做
        File f3 = new File("d:\\test\\wang");
        f3.mkdirs();  // mkdirs()是建立文件夾中的文件夾 都沒有的狀況下用     和mkdir()只建立一個沒有的文件夾
        System.out.println("文件夾建立成功");

        //重命名 與移動 文件夾
      //  f3.renameTo(new File("d:\\test\\wang1"));
        //若是放到其餘的地方的話就是 移動這個文件夾
        f3.renameTo(new File("d:\\wang"));


        
        // 補充f2 中的打印文件名 過濾器
        File f4 = new File("d:\\test\\my");
        File[] files = f4.listFiles(new FileFilter() { // new一個接口出來過濾
            @Override
            public boolean accept(File pathname) {
             return    pathname.getName().endsWith(".txt");  //過濾結尾爲 txt的文件
            }
        });
        for (File f :
                files) {
            System.out.println(f.getName());
        }



    }
}
相關文章
相關標籤/搜索