NO.1 File類簡單使用
/**
* File(String pathname):根據(jù)一個路徑得到File對象
* File(String parent, String child):根據(jù)一個目錄和一個子文件/目錄得到File對象
* File(File parent, String child):根據(jù)一個父File對象和一個子文件/目錄得到File對象
*/
//file類--路徑
//這個文件路徑用的絕對路徑
File file = new File("/Users/jiangjun/Desktop/讀書筆記代碼-iOS");
//檢測這個文件是否存在
boolean b = file.exists();
System.out.println(b);
//接下來我們試試相對路徑
//我們創(chuàng)建了一個文件--tmack81
File file1 = new File("com/company/tmack81");
boolean b1 = file1.exists();
System.out.println(b1);
//2.根據(jù)父級疮跑、子級路徑找文件
String parent = "/Users/jiangjun/Desktop";
String son = "讀書筆記代碼-iOS";
File file2 = new File(parent,son);
boolean b2 = file2.exists();
System.out.println(b2);
//3.把父級路徑封裝為一個File對象
File parentFile = new File("/Users/jiangjun/Desktop");
String son1 = "讀書筆記代碼-iOS";
File file3 = new File(parentFile,son1);
boolean b3 = file3.exists();
System.out.println(b3);
}
NO.2 File類的創(chuàng)建功能
/**
* * A:創(chuàng)建功能
* public boolean createNewFile():創(chuàng)建文件 如果存在這樣的文件慧妄,就不創(chuàng)建了
* public boolean mkdir():創(chuàng)建文件夾 如果存在這樣的文件夾,就不創(chuàng)建了
* public boolean mkdirs():創(chuàng)建文件夾,如果父文件夾不存在补鼻,會幫你創(chuàng)建出來
* B:案例演示
* File類的創(chuàng)建功能
* 注意事項:
* 如果你創(chuàng)建文件或者文件夾忘了寫盤符路徑,那么翘贮,默認在項目路徑下。
* @throws IOException
* */
//1.創(chuàng)建文件--不用后綴也可以創(chuàng)建的
File file = new File("tmac.txt");
try {
boolean b = file.createNewFile();//這里直接寫會有異常,因為我們寫的路徑是無法創(chuàng)建的
System.out.println(b);
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("1---------------");
//2.創(chuàng)建文件夾
File dir = new File("jj");
boolean b1 = dir.mkdir();
System.out.println(b1);
System.out.println("2-----------------");
//3.創(chuàng)建文件夾--如果父文件夾不存在,會幫你創(chuàng)建出來
File dirs = new File("King/Tmac");
boolean b2 = dirs.mkdirs();
System.out.println(b2);
NO.3 File類的重命名和刪除功能
/**
* * A:重命名和刪除功能
* public boolean renameTo(File dest):把文件重命名為指定的文件路徑
* public boolean delete():刪除文件或者文件夾
* B:重命名注意事項
* 如果路徑名相同士葫,就是改名。
* 如果路徑名不同送悔,就是改名并剪切慢显。
* C:刪除注意事項:
* Java中的刪除不走回收站。
* 要刪除一個文件夾欠啤,請注意該文件夾內(nèi)不能包含文件或者文件夾
*/
//1.重命名文件為指定文件路徑
//路徑相同的情況下荚藻,就相當于重命名
File file = new File("tmac.txt");
System.out.println(file.exists());
//現(xiàn)在我們的tmac.txt是存在的,我們給這個換個名
File file1 = new File("ooo.txt");
//改名
System.out.println(file.renameTo(file1));
//如果file1和file的路徑是不同的,那么就相當于剪切了
System.out.println("1------------------");
//2.刪除文件或者文件夾
//直接將上面的ooo.txt刪除了
System.out.println(file1.delete());
NO.4 File類的判斷功能
/**
A:判斷功能
* public boolean isDirectory():判斷是否是目錄
* public boolean isFile():判斷是否是文件
* public boolean exists():判斷是否存在
* public boolean canRead():判斷是否可讀
* public boolean canWrite():判斷是否可寫
* public boolean isHidden():判斷是否隱藏
* B:案例演示
* File類的判斷功能
*/
public static void main(String[] args) {
//demo1();
File file = new File("zzz");
file.setReadable(false);
System.out.println(file.canRead()); //windows系統(tǒng)認為所有的文件都是可讀的
file.setWritable(true);
System.out.println(file.canWrite()); //windows系統(tǒng)可以設置為不可寫
File file2 = new File("aaa.txt");
System.out.println(file2.isHidden()); //判斷是否是隱藏文件
System.out.println(file.isHidden());
}
public static void demo1() {
File dir1 = new File("ccc");
System.out.println(dir1.isDirectory()); //判斷是否是文件夾
File dir2 = new File("zzz");
System.out.println(dir2.isDirectory());
System.out.println(dir1.isFile()); //判斷是否是文件
System.out.println(dir2.isFile());
}
}
NO.5 File的獲取功能
/**
* * A:獲取功能
* public String getAbsolutePath():獲取絕對路徑
* public String getPath():獲取路徑
* public String getName():獲取名稱
* public long length():獲取長度洁段。字節(jié)數(shù)
* public long lastModified():獲取最后一次的修改時間应狱,毫秒值
* public String[] list():獲取指定目錄下的所有文件或者文件夾的名稱數(shù)組
* public File[] listFiles():獲取指定目錄下的所有文件或者文件夾的File數(shù)組
*/
public static void main(String[] args) {
//demo1();
File dir = new File("F:/雙元課堂/day19/video");
String[] arr = dir.list(); //僅為了獲取文件名
for (String string : arr) {
System.out.println(string);
}
File[] subFiles = dir.listFiles();
for (File file : subFiles) { //獲取文件對象
System.out.println(file);
}
}
public static void demo1() {
File file1 = new File("ccc.txt");
File file2 = new File("D:\\雙元課堂\\day19\\ccc.txt");
//System.out.println(file1.getAbsolutePath()); //獲取絕對路徑
//System.out.println(file2.getAbsolutePath());
//System.out.println(file1.getPath()); //獲取構造方法中傳入路徑
//System.out.println(file2.getPath());
// System.out.println(file1.getName()); //獲取文件或者文件的名字
// System.out.println(file2.getName());
//
// System.out.println(file1.length());
Date d = new Date(file1.lastModified()); //文件的最后修改時間
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
System.out.println(sdf.format(d));
}
}
NO.6 File類練習(一)
//需求:判斷桌面是否有后綴名為.png的文件,如果有,輸出該文件名
//1.把我們的桌面路徑封裝為一個File類
File dir = new File("/Users/jiangjun/Desktop");
//2.獲取桌面上所有的文件或者文件夾
//第一種方法
// String[] arr = dir.list();
// //遍歷這個數(shù)組
// for (String str : arr){
// //判斷是否以.png結(jié)尾
// if (str.endsWith(".png")){
// System.out.println(str);
// }
//
// }
//第二種方法
File[] subFiles = dir.listFiles();//獲取桌面所有文件和文件夾的file對象
//遍歷
for (File subFile : subFiles){
//isFile():方法判斷這個是不是文件
if (subFile.isFile() && subFile.getName().endsWith(".png")){
System.out.println(subFile);
}
}
NO.7 File類文件名過濾器的概述和使用
/**
* @param args
* * A:案例演示
* 需求:判斷E盤目錄下是否有后綴名為.jpg的文件祠丝,如果有疾呻,就輸出該文件名稱
*/
public static void main(String[] args) {
File dir = new File("E:\\");
// String[] arr = dir.list(); //獲取e盤下所有的文件或文件夾
// for (String string : arr) {
// if(string.endsWith(".jpg")) {
// System.out.println(string);
// }
// }
/*File[] subFiles = dir.listFiles(); //獲取e盤下所有的文件或文件夾對象
for (File subFile : subFiles) {
if(subFile.isFile() && subFile.getName().endsWith(".jpg")) {
System.out.println(subFile);
}
}*/
String[] arr = dir.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
//System.out.println(dir);
//System.out.println(name);
File file = new File(dir, name);
return file.isFile() && file.getName().endsWith(".jpg");
}
});
for (String string : arr) {
System.out.println(string);
}
}
}
最后編輯于 :
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者