在設(shè)計(jì)程序的時(shí)候,我們經(jīng)常有這樣的需求:把我們的變量打印到控制臺,或者把日志記錄到文件中,又或是與服務(wù)器進(jìn)行連接…這些需求都可以歸結(jié)為程序與接收端通信——IO。為了解決這些難題,java的設(shè)計(jì)者設(shè)計(jì)了功能強(qiáng)大的IO類庫。Java的標(biāo)準(zhǔn)IO是阻塞IO,也就是我們所說的BIO(Blocking IO),在JDK1.4中,官方又推出效率更高、功能更強(qiáng)大的非阻塞IO——NIO(Non-blocking IO)。本篇文章介紹的是IO中最基礎(chǔ)的File類
Java設(shè)計(jì)者的用File來表示操作系統(tǒng)中各種各樣的文件和目錄,使用File可以完成一些關(guān)于文件和目錄的基本操作:創(chuàng)建、刪除文件,創(chuàng)建、刪除目錄,列出目錄下的所有文件
上面文件路徑中用到了一個(gè)常量File.separator,表示文件分隔符。不同操作系統(tǒng)的文件分隔符不同,在程序中最好不要寫死。File.separator可以獲取系統(tǒng)的文件分隔符
注意:文件目錄必須是存在的,否則程序會出現(xiàn)異常。比如:
String fileName = "E:" + File.separator + "A" + File.separator + "hello.txt";我的文件系統(tǒng)中沒有A文件夾,運(yùn)行程序,就會報(bào)下面的異常
java.io.IOException: 系統(tǒng)找不到指定的路徑。解決辦法是先創(chuàng)建相應(yīng)的文件夾,然后再創(chuàng)建文件,創(chuàng)建文件夾后面會講到
如果文件不存在,調(diào)用delete方法看不到任何效果
list列出來只是文件名,如果需要文件完整路徑,可以這樣寫
String folderName = "E:" + File.separator;File folder = new File(folderName);if (folder.isDirectory()) { File[] fileList = folder.listFiles(); for (File file : fileList) System.out.println(file);}新聞熱點(diǎn)
疑難解答
圖片精選