package com.io.demo; import java.io.File; /* * 兩個常用常量 * 路徑分隔符 ; File.pathSeparator * 名稱分隔符 windows下:\ 非windows下:/ * * 相對路徑與絕對路徑構造File對象 * */ public class IOFile { public static void main(String[] args) { System.out.println(File.pathSeparator); // ; System.out.println(File.separator); // \ //路徑表示形式1,因為轉義字符的原因,要用雙斜杠 String path ="E:\\soft\\book\\1.txt"; //路徑表示形式2,可以做跨平台 path="E"+File.separator+"soft"+File.separator+"book"+File.separator+"1.txt"; //路徑表示形式3,推薦 path="E:/soft/book/1.txt"; String parentPath="E:/xp/test"; String name = "2.jpg"; //相對路徑 File src = new File(parentPath,name); src = new File(new File(parentPath),name); System.out.println(src.getName()); //2.jpg System.out.println(src.getPath()); //E:\xp\test\2.jpg //絕對路徑 src = new File("E:/xp/test/2.jpg"); System.out.println(src.getName()); //2.jpg System.out.println(src.getPath()); //E:\xp\test\2.jpg //沒有盤符,以user.dir構建 src = new File("test.txt"); System.out.println(src.getName()); //test.txt System.out.println(src.getPath()); //test.txt System.out.println(src.getAbsolutePath()); //D:\MyEclipse 10\java300\test.txt } }
幾種獲取文件名常用的方法:
getName():返回名稱
getPath():如果是絕對路徑,返回完整路徑,否則相對路徑
getAbsolutePath():返回絕對路徑
getParent():返回上一級目錄,如果是相對,返回null
判斷信息方法:
exists():文件是否存在,boolean型
canWriter():文件是否可寫 ,boolean
canRead():文件是否可讀
isFile():是文件還是文件夾,不存在默認為文件夾
isDirectory():是否為目錄
isAbsolute():是否為絕對路徑
判斷長度:
length():字節數,如果是文件夾長度為0,不能讀取,只有文件的長度能讀取
創建和刪除文件:
createNewFile():創建文件 boolean類型
delete():刪除文件