java中的IO操作之File类
Java的集合框架:? 類和接口存在于java.util包中.
Java的IO:???????????????類和接口存在于java.io包中.
學(xué)習(xí)方法:? 文檔在手,天下我有!
-----------------------------------------------------------------------------------------
講IO操作之前,必須要先講File類(文件/目錄).
-----------------------------------------------------------------------------------------
File類介紹和路徑分隔符:
File類是IO包中唯一表示磁盤文件和磁盤目錄的對(duì)象的路徑.
該類包含了創(chuàng)建,刪除文件,重命名文件,判斷文件讀寫權(quán)限以及文件是否存在,查詢等功能方法.
只能設(shè)置和獲取文件本身的信息,不能設(shè)置和獲取文件的內(nèi)容.
-----------------------------------------------------------------------------------------
Java做開發(fā):一次編寫,到處運(yùn)行.
Unix:??嚴(yán)格區(qū)分大小寫.
WIndows: 默認(rèn)情況下是不區(qū)分大小寫的.
路徑分隔符,屬性分隔符:
Unix:????????? 使用”/”,來分割目錄路徑.?????????????? 使用:來分割屬性.
Windows:? 使用”\”,來分割目錄路徑.但是在Java中一個(gè)”\”表示轉(zhuǎn)義,在Windows平臺(tái)的Java代碼中表示一個(gè)路徑,就得使用兩個(gè)\\. 但是Windows支持/.???????????????? 使用;來分割屬性.
-----------------------------------------------------------------------------------------
因?yàn)槲覀儾恢酪院筮\(yùn)行的系統(tǒng)平臺(tái)是什么,就不知道該如何編寫分隔符的問題,因此在File類中提供了兩類常量,分別來表示路徑分隔符和屬性分隔符.
| static?String | pathSeparator ??????????與系統(tǒng)有關(guān)的路徑分隔符,為了方便,它被表示為一個(gè)字符串。 |
| static?char | pathSeparatorChar ??????????與系統(tǒng)有關(guān)的路徑分隔符。 |
| static?String | separator ??????????與系統(tǒng)有關(guān)的默認(rèn)名稱分隔符,為了方便,它被表示為一個(gè)字符串。 |
| static?char | separatorChar ??????????與系統(tǒng)有關(guān)的默認(rèn)名稱分隔符 |
獲取File路徑和檢測(cè)狀態(tài):
操作File路徑和名稱:
FilegetAbsoluteFile() :獲取絕對(duì)路徑
StringgetAbsolutePath():獲取絕對(duì)路徑
StringgetPath() :獲取文件路徑
StringgetName() :獲取文件名稱
FilegetParentFile():獲取上級(jí)目錄文件
StringgetParent() :獲取上級(jí)目錄路徑
檢測(cè)File狀態(tài)的方法:
booleancanExecute() :判斷是否是可執(zhí)行文件
booleancanRead() :判斷該文件是否可讀
booleancanWrite():判斷該文件是否可寫
booleanisHidden():判斷該文件是否是隱藏文件
longlastModified():判斷該文件的最后修改時(shí)間
longlength():獲取該文件的長度大小(單位字節(jié))
File類中方法-文件操作:
booleanisFile() :是否是文件
booleancreateNewFile() :創(chuàng)建新的文件
staticFile createTempFile(String prefix, String suffix) :創(chuàng)建臨時(shí)文件
booleandelete() :刪除文件
voiddeleteOnExit() :在JVM停止時(shí)刪除文件
booleanexists():判斷文件是否存在
booleanrenameTo(File dest) :重新修改名稱
---------------------------------------------------------------------
File類中方法-目錄操作
booleanisDirectory() :判斷是否是目錄
booleanmkdir()? :創(chuàng)建當(dāng)前目錄
booleanmkdirs() :創(chuàng)建當(dāng)前目錄和上級(jí)目錄
String[]list() :列出所有的文件名
File[]listFiles() :列出所有文件對(duì)象
staticFile[] listRoots() :列出系統(tǒng)盤符
代碼練習(xí): package IO;import java.io.File;public class CharFileCopy {public static void main(String[] args) {File file = new File("file");File[] files = file.listFiles();for (File file2 : files) {System.out.println(file2.getName());}}}
批量修改文件名:
package IO;import java.io.File; import java.io.FilenameFilter;public class UpdateFileName {public static void main(String[] args) {File file = new File("F:/day/項(xiàng)目/Lanqiao/file");File[] files = file.listFiles(); String deleteText = "天津";String newName = null;for (File name : files) {System.out.println(name.getName());if(name.getName().contains(deleteText)){//此處用到了字符串替換方法newName = name.getName().replace(deleteText, "");name.renameTo(new File(file,newName));}}}}文件過濾器:
//獲取源File srcfile = new File("file"); File[] files = srcfile.listFiles(new FilenameFilter() {@Overridepublic boolean accept(File dir, String name) {return (new File(dir,name).isFile()&&name.endsWith(".txt"));}});總結(jié)
以上是生活随笔為你收集整理的java中的IO操作之File类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。