Java判斷File存在,刪除創(chuàng)建,絕對路徑,只讀,多級文件夾,復(fù)制,重命名【詩書畫唱】

創(chuàng)建相對路徑的文件夾:

package createFile;
import java.io.File;
public class createXiangDui {
public static void main(String[] args) throws Exception{
File f=new File("xiangDuiLuJingFile");
f.mkdir();
}
}

執(zhí)行效果:

創(chuàng)建多級文件:
package createFile;
import java.io.File;
public class createXiangDui {
public static void main(String[] args) throws Exception{
File f=new File("f/f1/f1_1");
// 命名不可用"-",可用"_"
f.mkdirs();
}
}

執(zhí)行效果:

刪除多級文件等的代碼方法(手動(dòng)的話,就鼠標(biāo)右鍵刪除就可以了)

這里最里面的為”qq1“,最外面的是”qq“。
判斷文件是否存在:

判斷路徑是否為絕對路徑:


判斷是否為文件夾:


判斷是否為文件:


解答什么是隱藏文件,怎么設(shè)置隱藏文件:





點(diǎn)”確定“等前都要點(diǎn)擊”應(yīng)用“。
判斷文件是否隱藏:

判斷文件是否存在,若存在就打印絕對路徑:

打印出父路徑:


在相同的父級路徑創(chuàng)建文件:

獲取文件名和有什么用:

獲取圖片路徑:

獲取文件最后修改的時(shí)間:



什么是”只讀“:

打印文字的長度和字母,漢字對應(yīng)的字節(jié)長度:

設(shè)置為”只讀“或“重命名”:


案例1:在計(jì)算機(jī)絕對路徑下創(chuàng)建一個(gè)文件,名稱為”a.txt”,判斷文件是否存在,如果存在刪除掉這個(gè)文件后創(chuàng)建,不存在直接創(chuàng)建


package createFile;
import java.io.File;
public class create {
public static void main(String[] args) throws Exception{
File wenJianJia=new File("D://集成開發(fā)工具/NewFile");
//wenJianJia:文件夾
//wenJian:文件
File wenJian=new File(wenJianJia,"a.txt");
wenJianJia.mkdir();
if(wenJian.exists()){
wenJian.delete();
System.out.println("a.txt文件存在,已經(jīng)刪除");
wenJian.createNewFile();
System.out.println("a.txt文件又重新創(chuàng)建完畢");}
else {
System.out.println("a.txt文件不存在,直接創(chuàng)建");
wenJian.createNewFile();
}
}
}



案例2:在計(jì)算機(jī)絕對路徑下創(chuàng)建一個(gè)文件夾,在該文件夾下創(chuàng)建一個(gè).txt文件,設(shè)置文件的類型為只讀


package createFile;
import java.io.File;
public class jueDui {
public static void main(String[] args) throws Exception{
File wenJianJia=new File("D://集成開發(fā)工具/jueDuiFile");
//wenJianJia:文件夾
//wenJian:文件
File wenJian=new File(wenJianJia,"jueDu.txt");
wenJianJia.mkdir();
System.out.println("文件夾創(chuàng)建成功");
wenJian.createNewFile();
System.out.println(".txt文件創(chuàng)建成功");
wenJian.setReadOnly();
System.out.println(".txt文件設(shè)置為“只讀”成功");
}
}



案例3:在項(xiàng)目的相對路徑下準(zhǔn)備聲明一個(gè)多級文件夾,要求3級,要求判斷該文件夾是否存在,如果存在則刪除掉;不存在則創(chuàng)建該文件夾,最后在該文件夾下創(chuàng)建一個(gè).java文件,名稱為hello.java
刪除的個(gè)人理解的思路:
// 先把"f"傳入deleteAllWenJianJiaFangFa方法
// 再用listFiles遍歷"f"下的所有內(nèi)容,得到所有內(nèi)容的絕對路徑
// 再把所有內(nèi)容的絕對路徑傳入deleteAllWenJianJiaFangFa方法
// 刪除所有內(nèi)容。


package createFile;
import java.io.File;
import java.io.IOException;
public class duoJi {
public static void deleteAllWenJianJiaFangFa(File file) {
// rmdir -刪除空目錄
if (file.exists()) {
// isDirectory():判斷是否為文件夾
if (file.isDirectory()) {
File[] shuZu = file.listFiles();
// list()方法是返回某個(gè)目錄下的所有文件和目錄的文件名,返回的是String數(shù)組
//listFiles()方法是返回某個(gè)目錄下所有文件和目錄的絕對路徑,返回的是File數(shù)組
if (shuZu != null && shuZu.length > 0) {
for (File jueDuiLuJing : shuZu) {
deleteAllWenJianJiaFangFa(jueDuiLuJing);
}
}
}
// 前面用了deleteAllWenJianJiaFangFa(xxx);方法,
// jueDuiLuJing(絕對路徑)
// 被傳值,成為下面的file的代入值
// 。這些文件夾的絕對路徑會都被delete();刪掉,
// 這些文件夾和里面的文件就會被刪掉
file.delete();
}
}
public static void main(String[] args) throws Exception {
File wenJianJiaF1_1=new File("f/f1/f1_1");
if(wenJianJiaF1_1.exists()){
File wenJianJiaF = new File("f");
deleteAllWenJianJiaFangFa(wenJianJiaF);
System.out.println("文件夾存在,已經(jīng)刪除");
}
else {
wenJianJiaF1_1.mkdirs();
//個(gè)人的總結(jié):XXX1_1.mkdirs();這里表達(dá)就是創(chuàng)建以XXX為命名的父目錄
// (最外面的文件夾)的包括里面文件夾的3個(gè)文件夾
System.out.println("文件夾不存在,直接創(chuàng)建,創(chuàng)建成功");
File wenJian=new File(wenJianJiaF1_1,"hello.java");
wenJian.createNewFile();
System.out.println("在該文件夾下創(chuàng)建一個(gè).java文件,"
+ "名稱為hello.java,創(chuàng)建成功");
}
}
}

第一次運(yùn)行:


鼠標(biāo)右鍵點(diǎn)擊”refresh“(刷新):

第二次運(yùn)行:

案例4:在計(jì)算機(jī)絕對路徑下創(chuàng)建一個(gè)文件夾里包含一個(gè)文件”aa.txt”判斷文件夾和文件是否存在,不存在則創(chuàng)建,存在則將該文件夾下的文件“aa.txt”復(fù)制到相對路徑下,并設(shè)置文件的名稱為”copy1.txt”

package createFile;
import java.io.File;
public class copy {
public static void main(String[] args) throws Exception{
File wenJianJia=new File("D://集成開發(fā)工具/NewFile");
//wenJianJia:文件夾
//wenJian:文件
File wenJian=new File(wenJianJia,"aa.txt");
if(wenJian.exists()&&wenJianJia.exists()){
File wenJianCopy=new File("copy1.txt");
wenJian.renameTo(wenJianCopy);
System.out.println("文件和文件夾都存在\n則將該文件夾下的文件"
+ "\n“aa.txt”復(fù)制到相對路"
+ "徑下,\n并設(shè)置文件的名稱為”copy1.txt”");
}
else {
System.out.println("文件或文件夾沒全部存在");
wenJian.createNewFile();
System.out.println("aa.txt文件創(chuàng)建完畢");
wenJianJia.mkdir();
System.out.println("文件夾創(chuàng)建完畢");
}
}
}

第一次運(yùn)行結(jié)果:

第二次運(yùn)行結(jié)果:

