深入了解Java I/O 之File類
File類
Java使用File類來表示計(jì)算機(jī)系統(tǒng)磁盤文件的對(duì)象類型。File類中提供了大量的方法,可以對(duì)文件進(jìn)行增加、修改、刪除、重命名等常規(guī)操作。File類的對(duì)象會(huì)村春文件自身的信息,例如文件在系統(tǒng)中的存儲(chǔ)目錄、文件大小、文件讀寫權(quán)限等。
創(chuàng)建File文件
File類中提供了以下幾個(gè)構(gòu)造方式來創(chuàng)建File對(duì)象。
File(String pathname)
File file=new File("d:/Test/file01.txt");
File(String parent,String child)
File file1=new File("d:/","Test/file01.txt");
File(File f,String child)
File(URI uri)
File文件基本操作
File類中提供了操作文件的方法,也可以直接對(duì)文件夾進(jìn)行操作。文件的常見操作有:判斷文件是否存在、創(chuàng)建和重命名文件、刪除文件和獲取文件基本信息。
package com.IO.demo01;
import java.io.*;
/**
* File類
*/
public class Demo06 {
public static void main(String[] args) {
try {
File file = new File("Data01.json");
System.out.println("創(chuàng)建文件Data01.json");
System.out.println("是否創(chuàng)建成功:"+file.createNewFile());
System.out.println("文件是否為絕對(duì)路徑:"+file.isAbsolute());
System.out.println("文件是否可讀:"+file.canRead());
System.out.println("修改文件名稱為:Data02.json,是否成功:"+file.renameTo(new File("Data02.json")));
} catch (Exception e) {
System.out.println("系統(tǒng)發(fā)生異常:"+e.getMessage());
}
}
}
運(yùn)行結(jié)果:

File類也支持對(duì)文件夾的操作。對(duì)文件夾的操作一般有創(chuàng)建文件夾、刪除文件夾、判斷文件夾是否存在、獲取文件夾信息等。
package com.IO.demo01;
import java.io.File;
/**
* 讀取目錄下的文件和目錄
*/
public class Demo07 {
public static void main(String[] args) {
String dirName="jjjjava";
File file = new File("d:/"+dirName);
if(file.isDirectory()){
System.out.println("訪問目錄"+dirName);
String[]s=file.list();
for (int i = 0; i < s.length; i++) {
File tempFile = new File("d:/" + dirName + "/" + s[i]);
if(tempFile.isDirectory()){
System.out.println(s[i]+"是一個(gè)目錄");
}else{
System.out.println(s[i]+"是一個(gè)文件");
}
}
}else{
System.out.println(dirName+"不是一個(gè)目錄");
}
}
}
在上面的示例中,在相對(duì)路徑下創(chuàng)建了兩個(gè)文件夾“/a”、“/b”以及一個(gè)文件“c.txt”。
運(yùn)行結(jié)果為:

package com.IO.demo01;
import java.io.File;
/**
* File類刪除操作
* @author ZpF
*/
public class Demo08 {
public static void main(String[] args) {
File file = new File("java");
System.out.println("創(chuàng)建文件夾java:"+file.mkdir());
file =new File("java/dir");
System.out.println("創(chuàng)建文件夾java/dir:"+file.mkdir());
File floder = new File("java");
deleteFloder(floder);
}
public static void deleteFloder(File floder){
File[]files=floder.listFiles();
if(files!=null){
for (File f : files) {
if (f.isDirectory()){
deleteFloder(f);//遞歸調(diào)用
}else{
System.out.println("刪除文件"+f.getName()+"是否成功:"+f.delete());//刪除文件
}
}
}
System.out.println("刪除文件"+floder.getName()+"是否成功:"+floder.delete());//刪除文件夾
}
}
運(yùn)行結(jié)果為:

總結(jié)
本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
Netty分布式解碼器讀取數(shù)據(jù)不完整的邏輯剖析
這篇文章主要為大家介紹了Netty分布式解碼器讀取數(shù)據(jù)不完整的邏輯剖析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
SpringBoot?整合Mybatis-Plus并輸出SQL日志示例詳解
這篇文章主要介紹了SpringBoot整合Mybatis-Plus并輸出SQL日志,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-06-06
java的Map集合中按value值進(jìn)行排序輸出的實(shí)例代碼
下面小編就為大家?guī)硪黄猨ava的Map集合中按value值進(jìn)行排序輸出的實(shí)例代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-08
Java使用FutureTask實(shí)現(xiàn)預(yù)加載的示例詳解
基于FutureTask的特性,通??梢允褂肍utureTask做一些預(yù)加載工作,比如一些時(shí)間較長(zhǎng)的計(jì)算等,本文就來和大家講講具體實(shí)現(xiàn)方法吧,感興趣的可以了解一下2023-06-06
PostMan如何傳參給@RequestBody(接受前端參數(shù))
這篇文章主要介紹了PostMan如何傳參給@RequestBody(接受前端參數(shù)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10

