javaIO流之File類
阿新 • • 發佈:2021-01-25
File類
File類三種構造方法
在當前目錄下建立一個與Demo.txt檔名相關聯的檔案物件,注意要用雙斜線或反斜槓
File file = new File("D:\\Demo.txt");
在這裡定義了一個p為父級
String p ="D:/";
File file = new File(p,"Demo.txt");
File file = new File("D:/");
File file1 = new File(file,"Demo.txt") ;
File類常用方法
獲取功能
getPath() 獲取路徑名
getName() 獲得檔名及最後一層的名稱
getAbsolutePath() 獲取絕對路徑名
getAbsoluteFile() 獲取絕對路徑所對應的File物件
getParent() 獲取父級路徑名
package com.lsy.javafile.day2;
import java.io.File;
public class Demo2 {
public static void main(String[] args) {
File file = new File("D:\\Demo\\Demo.txt" );
System.out.println(file.getPath());
System.out.println(file.getName());//getName()獲得檔名及最後一層的名稱
System.out.println(file.getAbsolutePath());//獲取絕對路徑所對應的File物件
System.out.println(file.getAbsoluteFile());//絕對路徑名
System.out.println(file.getParent());//獲取父級目錄
}
}
exists()
canWrite() 這個檔案是否可寫
canRead() 這個檔案是否可讀
isDirectory() 檢查這個路徑是否為資料夾
isFile() 檢查這個路徑是否是檔案
length() 獲取檔案的長度(位元組數)
package com.lsy.javafile.day2;
import java.io.File;
public class Demo3 {
public static void main(String[] args) {
File file = new File("D:\\Demo\\圖解緩衝流2.png");
System.out.println(file.exists());//exists()是否存在這個資料夾
System.out.println(file.canWrite());//檢查這個檔案是否可寫
System.out.println(file.canRead());//檢查這個檔案是否可讀
System.out.println(file.isDirectory());//檢查這個路徑是否為資料夾
System.out.println(file.isFile());//檢查這個路徑是否為檔案
}
}
renameTo(file類例項物件) 更改檔名字
建立資料夾的功能
mkdir() 建立一個資料夾
mkdirs() 建立多級資料夾
package com.lsy.javafile.day2; import java.io.File; public class Demo4 { public static void main(String[] args) { File file = new File("D:\\Demo\\圖解緩衝流2.png"); File file1 = new File("D:\\Demo\\圖解緩衝流1.png"); System.out.println(file.renameTo(file1));//更改檔名字 必須是file例項物件 File file2 = new File("D:\\Demo\\Demo2"); System.out.println(file2.mkdir());//建立一個資料夾 File file3 = new File("D:\\Demo\\Demo1\\a\\b\\c\\d\\e\\f\\g"); System.out.println(file3.mkdirs());//建立多級資料夾 } }
delete() 刪除檔案
list() 獲取指定目錄下的所有自己檔案的名字,以字串陣列的形式返回,還有一個有篩選條件的list,使用匿名內部類new FilenameFilter()實現裡面的方法
package com.lsy.javafile.day2;
import java.io.File;
import java.io.FilenameFilter;
public class Demo5 {
public static String subFileType(String name){
return name.substring(name.lastIndexOf(".")+1);
}
public static void main(String[] args) {
File file3 = new File("D:\\Demo");
// System.out.println(file3.delete());//刪除資料夾 該資料夾不許為空
File file = new File("D:\\陝西理工大學\\大一學習\\高數");
String []str =file.list();//獲取指定目錄下的所有子級檔案的名字,以字串的形式返回
for (String string:str) {
System.out.println(string);
}
System.out.println("-----------------------------");
//新增過濾條件形式的list 使用到匿名內部類
String []str1= file.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
return subFileType(name).equalsIgnoreCase("ppt");
}
});
for (String string:str1) {
System.out.println(string);
}
}
}