1. 程式人生 > >Java基礎——檔案查詢建立刪除

Java基礎——檔案查詢建立刪除

package com.java8.filetest0823;

import java.io.File;
import java.io.IOException;

public class FileTest {
    public static void main(String arg[]) {
        FileTest ft = new FileTest();
        ft.listRoots();
        ft.testCreateAndDelete("測試檔案");
    }

    /**
     * 列出機器根目錄
     */
    public void listRoots() {
        //呼叫File的static方法
        File[] lf = File.listRoots();
        System.out.println("磁碟上目錄個數為 : " + lf.length);
        for (int i = 0; i < lf.length; i++) {
            System.out.println("第" + i + "個磁碟目錄為 : " + lf[i].getAbsolutePath());
        }
    }

    /***
     * 測試檔案的建立和刪除
     * @param fileName
     */
    public void testCreateAndDelete(String fileName) {
        //通過傳入名字構造File物件
        File temFile = new File(fileName);
        //判斷檔案是否存在
        if (temFile.exists()) {
            //若是目錄
            if (temFile.isDirectory()) {
                System.out.println("這是一個目錄:" + temFile.getAbsolutePath());
            }
            //若是檔案
            if (temFile.isFile()) {
                System.out.println("這是一個檔案。");
                //列印檔案長度
                prinFileAttr(temFile);
                //刪除檔案
                temFile.delete();
                String theName = temFile.getName();
                String absPath = temFile.getAbsolutePath();
                System.out.println("檔案已刪除,名字為:" + theName
                        + ",絕對路徑為:" + absPath);
            }
        } else {
            try {
                temFile.createNewFile();
                System.out.println("檔案已經建立!" + temFile);
                //列印檔案長度
                prinFileAttr(temFile);
            } catch (IOException e) {
                e.printStackTrace();//列印方法的呼叫情況
                System.out.println("建立檔案失敗!");
            }
        }
    }

    /***
     * 列印檔案相關屬性:長度,檔名,父目錄名,是否隱藏檔案
     * @param temf:檔案的絕對路徑
     */
    public void prinFileAttr(File temf) {
        System.out.println("檔案目錄為:" + temf.getAbsolutePath());
        System.out.println("檔案長度為:" + temf.length());
    }
}