1. 程式人生 > >java File類的常用方法

java File類的常用方法

建立:
createNewFile()在指定位置建立一個空檔案,成功就返回true,如果已存在就不建立,然後返回false。
mkdir()  在指定位置建立一個單級資料夾。
mkdirs()  在指定位置建立一個多級資料夾。
renameTo(File dest)如果目標檔案與原始檔是在同一個路徑下,那麼renameTo的作用是重新命名, 如果目標檔案與原始檔不是在同一個路徑下,那麼renameTo的作用就是剪下,而且還不能操作資料夾。 

刪除:
delete()  刪除檔案或者一個空資料夾,不能刪除非空資料夾,馬上刪除檔案,返回一個布林值。
deleteOnExit()jvm退出時刪除檔案或者資料夾,用於刪除臨時檔案,無返回值。
 判斷:
exists()  檔案或資料夾是否存在。
isFile()  是否是一個檔案,如果不存在,則始終為false。
isDirectory()  是否是一個目錄,如果不存在,則始終為false。
isHidden()  是否是一個隱藏的檔案或是否是隱藏的目錄。
isAbsolute()  測試此抽象路徑名是否為絕對路徑名。
 獲取:
getName()  獲取檔案或資料夾的名稱,不包含上級路徑。
getAbsolutePath()獲取檔案的絕對路徑,與檔案是否存在沒關係
length()  獲取檔案的大小(位元組數),如果檔案不存在則返回0L,如果是資料夾也返回0L。
getParent()  返回此抽象路徑名父目錄的路徑名字串;如果此路徑名沒有指定父目錄,則返回null。
lastModified()獲取最後一次被修改的時間。

資料夾相關:
static File[] listRoots()列出所有的根目錄(Window中就是所有系統的碟符)
list()  返回目錄下的檔案或者目錄名,包含隱藏檔案。對於檔案這樣操作會返回null。
listFiles()  返回目錄下的檔案或者目錄物件(File類例項),包含隱藏檔案。對於檔案這樣操作會返回null。
list(FilenameFilter filter)返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。
listFiles(FilenameFilter filter)返回指定當前目錄中符合過濾條件的子檔案或子目錄。對於檔案這樣操作會返回null。

複製程式碼

package com.file;

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

/**
 * @author 王金龍
 * @date 建立時間: 2017-2-9 上午11:32:40
 * @version 1.0
 */
public class FileMethod {

    public static void main(String[] args) throws IOException {
        //建立方法
/*        @SuppressWarnings("unused")
        File file = new File("F:\\a.txt");
        //System.out.println("建立成功了嗎?"+file.createNewFile());
        //System.out.println("單級資料夾建立成功了嗎?"+file.mkdir());
        //System.out.println("多級資料夾建立成功了嗎?"+file.mkdirs());
        //File dest = new File("F:\\電影\\c.txt");
        //System.out.println("重新命名成功了嗎?"+file.renameTo(dest));
*/
        
/*      //刪除方法
        File file = new File("F:\\電影");
        System.out.println("刪除成功了嗎?"+file.delete());
        file.deleteOnExit();
*/
        
        //判斷方法
/*        File file = new File("F:\\a.txt");
        System.out.println("檔案或者資料夾存在嗎?"+file.exists());
        System.out.println("是一個檔案嗎?"+file.isFile());
        System.out.println("是一個資料夾嗎?"+file.isDirectory());
        System.out.println("是隱藏檔案嗎?"+file.isHidden());
        System.out.println("此路徑是絕對路徑名?"+file.isAbsolute());
*/
        
        //獲取方法
/*
         File file = new File("f:\\a.txt");
        System.out.println("檔案或者資料夾得名稱是:"+file.getName());
        System.out.println("絕對路徑是:"+file.getPath());
        System.out.println("絕對路徑是:"+file.getAbsolutePath());
        System.out.println("檔案大小是(以位元組為單位):"+file.length());
        System.out.println("父路徑是"+file.getParent());
        //使用日期類與日期格式化類進行獲取規定的時間
        long  lastmodified= file.lastModified();
        Date data = new Date(lastmodified);
        SimpleDateFormat simpledataformat = new SimpleDateFormat("YY年MM月DD日 HH:mm:ss");
        System.out.println("最後一次修改的時間是:"+simpledataformat.format(data));
*/
        
        //檔案或者資料夾的方法

        File[] file = File.listRoots();
        System.out.println("所有的碟符是:");
        for(File item : file){
            System.out.println("\t"+item);
        }
        File filename =new File("F:\\Java workspace\\Java");
        String[] name = filename.list();
        System.out.println("指定資料夾下的檔案或者資料夾有:");
        for(String item : name){
            System.out.println("\t"+item);
        }
        File[] f = filename.listFiles();
        System.out.println("獲得該路徑下的檔案或資料夾是:");
        for(File item : f){
            System.out.println("\t"+item.getName());
            }

        }
}

複製程式碼