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()); } } }