絕對路徑: 該文件在硬盤上的完整路徑。絕對路徑一般都是以盤符開頭的。
相對路徑: 相對路徑就是資源文件相對於當前程序所在的路徑。
. 當前路徑
.. 上一級路徑
注意: 如果程序當前所在的路徑與資源文件不是在同一個盤下面,是沒法寫相對路徑的。
創建:
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。
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());
}
}
}