“謙虛其心,宏大其量 --摘自陽(yáng)明先生語(yǔ)錄”
前言
Java中File類是java.io包中唯一代表磁盤文件本身的對(duì)象掏觉,可以通過(guò)該類來(lái)操作系統(tǒng)上文件系統(tǒng)中的文件或目錄。
可以獲取如文件名队他、文件所在目錄牺汤、文件的長(zhǎng)度姐浮、文件讀寫權(quán)限等,但是不能通過(guò)File獲取文件內(nèi)容超歌,
也就是說(shuō)它只是抽象的代表了磁盤上的某個(gè)文件或目錄砍艾,內(nèi)部實(shí)際上是依賴一個(gè)平臺(tái)無(wú)關(guān)的本地文件系統(tǒng)類,并且 File 無(wú)法對(duì)其所表示文件內(nèi)容進(jìn)行任何讀寫操作(那是流做的事情)巍举。
File類的構(gòu)造方法:
File(String pathname):根據(jù)路徑名稱構(gòu)建File對(duì)象
File(String parent, String child):根據(jù)父路徑和子路徑構(gòu)建File對(duì)象
File(File parent, String child):根據(jù)父路徑File對(duì)象和子路徑構(gòu)建File對(duì)象
File(URI uri):通過(guò)將給定的 file: URI 轉(zhuǎn)換為一個(gè)抽象路徑名來(lái)創(chuàng)建一個(gè)新的 File 實(shí)例
public static void main(String[] args) {
File file = new File("D:\\test.txt");
File file2 = new File("D:\\test.txt","test2.txt");
File file3 = new File(file,"test3.txt");
try {
File file4 = new File(new URI(""));
} catch (URISyntaxException e) {
e.printStackTrace();
}
}
File類實(shí)現(xiàn)了Serializable, Comparable兩大接口以便于其對(duì)象可序列化和比較脆荷,這上面的代碼片段只是構(gòu)建了File對(duì)象,我們可以通過(guò)其方法來(lái)操作文件懊悯。
創(chuàng)建文件:
public static void main(String[] args) {
File file = new File("E:\\test.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
createNewFile方法將在在指定位置創(chuàng)建一個(gè)空文件蜓谋,成功就返回true,如果已存在就不創(chuàng)建然后返回false定枷,這里需要注意\斜杠問(wèn)題孤澎,在Windows中分隔符為\,在Unix/Linux中分隔符為/欠窒,所以我們?cè)跇?gòu)建File對(duì)象時(shí)應(yīng)該使用File類中的常量separator覆旭,如:
public static void main(String[] args) {
File file = new File("E:" + File.separator + "test.txt");
try {
file.createNewFile();
} catch (IOException e) {
e.printStackTrace();
}
}
創(chuàng)建文件夾:
public static void main(String[] args) {
File file = new File("E:" + File.separator + "hello");
file.mkdir();
}
mkdir方法會(huì)在指定位置創(chuàng)建目錄退子,返回boolean,創(chuàng)建成功返回true型将,不成功返回false寂祥,如果需要?jiǎng)?chuàng)建所有層級(jí)的目錄那么需要調(diào)用mkdirs方法,如:
public static void main(String[] args) {
File file = new File("E:" + File.separator + "hello" + File.separator + "world");
file.mkdirs();
}
返回值和mkdir相同七兜。
File類的其他常用方法:
1丸凭、renameTo(File dest):重命名文件或文件夾
2、delete() :刪除文件或一個(gè)空文件夾
3腕铸、isDirectory():是否是目錄
4惜犀、isFile():是否是文件
5、exists():判斷文件或目錄是否存在
6狠裹、getPath():獲取相對(duì)路徑
7虽界、getName():獲取名稱
8、length():獲取文件的大小
9涛菠、lastModified():獲取文件最后修改時(shí)間
這里只列出一部分方法莉御,更多的方法需要同學(xué)們?nèi)ゲ榭碅PI,查看API也是一個(gè)非常好的習(xí)慣俗冻。
注意事項(xiàng):
(1)Java程序的刪除不走回收站礁叔。
(2)如果目錄內(nèi)還有內(nèi)容就不能刪除。
如果你覺(jué)得還不錯(cuò)請(qǐng)分享出去
你也可以關(guān)注公眾號(hào)迄薄,新文章會(huì)第一時(shí)間發(fā)到公證號(hào)