JavaIO流(四) File檔案物件
阿新 • • 發佈:2020-11-28
File類是檔案和目錄路徑名的抽象表示形式。它有一些方法用於操作目錄或者檔案
目錄資訊獲取
package com.mike.io.eg; import java.io.File; /** * @author mike * @date 2020-11-25 * @desc 目錄檔案資訊獲取 */ public class FileDemo { public static void main(String[] args) { //測試列印當前系統分隔符 System.out.println(File.separator+ "\n" + File.pathSeparator); //建立檔案物件 String filepath = "F:\\foo.txt"; File file = new File(filepath); //獲取絕對路徑名字串。 System.out.println(file.getAbsolutePath()); //獲取檔案或目錄名稱 System.out.println(file.getName()); //獲取路徑名字字串 System.out.println(file.getPath()); //獲取路徑名目目錄名字字串,如果沒有指定父目錄則返回null System.out.println(file.getParent()); //返回最後一次修改時間(毫秒) System.out.println(file.lastModified()); //獲取檔案長度,如果表示目錄則返回值未指定 System.out.println(file.length()); } }
目錄檔案判斷方法
package com.mike.io.eg; import java.io.File; /** * @author mike * @date 2020-11-25 * @desc 目錄檔案判斷方法 */ public class FileDemo1 { public static void main(String[] args) { File file = new File("F:\\foo.text"); //判斷是否是目錄 System.out.println(file.isDirectory()); //判斷是否為檔案 System.out.println(file.isFile()); //判斷檔案或目錄是否存在 System.out.println(file.exists()); //判斷是否可執行 System.out.println(file.canExecute()); //判斷是否可讀 System.out.println(file.canRead()); //判斷是否可寫 System.out.println(file.canWrite()); //判斷是否為隱藏檔案 System.out.println(file.isHidden()); } }
目錄檔案獲取
package com.mike.io.eg; import java.io.File; /** * @author mike * @date 2020-11-25 * @desc 目錄檔案獲取 */ public class FileDemo2 { public static void main(String[] args) { File file = new File("F:\\test"); //String list(); 返回一個字串陣列,獲取指定目錄下的所有檔案或者目錄名稱的陣列。 String[] list = file.list(); for (String s :list) { System.out.println(s); } //File[] listFiles(); 返回一個抽象路徑名陣列,獲取指定目錄下的所有檔案或者目錄的File陣列。 System.out.println("---------------"); File[] files = file.listFiles(); for (File f : files) { System.out.println(f.toString()); } } }
目錄檔案,新建和刪除方法
package com.mike.io.eg;
import java.io.File;
import java.io.IOException;
/**
* @author mike
* @date 2020-11-25
* @desc 目錄檔案,新建和刪除方法
*/
public class FileDemo3 {
public static void main(String[] args) {
//建立檔案,如果檔案存在則不建立返回false,反之返回true
File f1 = new File("F:\\f1.txt");
try {
if (f1.createNewFile()) {
System.out.println("檔案建立成功");
} else {
System.out.println("檔案已經存在");
}
} catch (IOException e) {
e.printStackTrace();
}
//建立目錄,如果此目錄存在則不建立,如果此目錄的上層目錄不存在也不建立
File f2 = new File("F:\\f2");
if (f2.mkdir()) {
System.out.println("目錄建立成功");
} else {
System.out.println("目錄建立失敗");
}
//遞迴建立目錄,如果上層目錄不存在也會建立
File f3 = new File("F:\\test\\f3");
if (f3.mkdirs()) {
System.out.println("目錄建立成功");
} else {
System.out.println("目錄建立失敗");
}
}
}
重新命名檔案
package com.mike.io.eg;
import java.io.File;
/**
* @author mike
* @date 2020-11-25
* @desc 重新命名檔案
*/
public class FileDemo4 {
public static void main(String[] args) {
File file1 = new File("F:\\f2.txt"); // 被命名檔案一定要存在
File file2 = new File("F:\\f3.txt");
if (file1.renameTo(file2)) {
System.out.println("重新命名成功");
} else {
System.out.println("重新命名失敗");
}
}
}