天天看點

java-File(檔案)

import java.io.File;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * java.io.File
 * File的每一個執行個體用于表示檔案系統中的一個檔案或目錄
 * 使用File可以:
 * 1.通路檔案或目錄的屬性資訊(名字,大小,修改時間)
 * 2.操作檔案或者目錄(建立,删除)
 * 3.通路目錄子項
 * 
 * File類隻能用于表示檔案(目錄)的資訊(名稱,大小等),不能對檔案的内容進行通路
 *
 */
public class FileDemo {
    public static void main(String[] args) throws IOException {
        /**
         * File(String pathname)通過将給定路徑名字字元串轉換成抽象路徑名來建立一個新File執行個體
         * 抽象路徑盡量使用相對路徑,并且目錄的層級分隔符不要直接寫" /"或" \",應使用File.separator這個常量表示,以避免不同系統帶來的差異
         * 
         * 相對路徑常用:
         * 1.類加載路徑(常用)
         * 2.目前目錄,在eclipse中目前目錄就是指目前類所在的項目目錄
         */
        File file=new File("."+File.separator+"demo.txt");//.代表的是本項目的根目錄
        String name=file.getName();
        System.out.println(name);
        /**long length()-傳回值:目前File對象所表示的檔案所占用的位元組量**/
        long length=file.length();//大小,位元組量
        System.out.println("位元組量:"+length);

        boolean cr=file.canRead();//可讀
        System.out.println("可讀:"+cr);

        boolean cw=file.canWrite();//可寫
        System.out.println("可寫:"+cw);

        boolean in=file.isHidden();//隐藏
        System.out.println("是否隐藏:"+in);

        long time=file.lastModified();//最後修改時間
        Date date=new Date();
        date.setTime(time);
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
        String date1=sdf.format(date);//日期轉換成字元串
        System.out.println("最後修改時間:"+date1);
//      System.out.println("最後修改時間:"+sdf.format(time));

        /**
         * 建立檔案
         * boolean createNewFile():如果指定的檔案不存在并成功建立,傳回true,如果已經存在,傳回false
         * 目前目錄下建立名為:test.txt的檔案
         * ./ 不寫,預設也是在目前目錄下
         */
        File file1=new File("test.txt");
        /**boolean exists()  判斷目前File表示的檔案或目錄是否存在,存在傳回:true,否則傳回false**/
        if(!file1.exists()) {
            file1.createNewFile();
            System.out.println("檔案建立完畢");
        }else {
            System.out.println("該檔案已經存在");
        }

        /**
         * 删除目前目錄中的檔案
         * boolean delete()
         * 傳回值:當且僅當成功删除檔案或目錄時,傳回true;否則傳回false
         * 注意:若此File對象所表示的是一個目錄時,在删除時需要保證此為空目錄才可以成功删除(目錄中不能含有任何子項)
         */
        if(file1.exists()) {
            file1.delete();
            System.out.println("删除完畢");
        }
    }
}