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("删除完畢");
}
}
}