java基礎-----IO流之File及特殊對象
一、File類
1、簡述
---用於將文件或文件夾封裝成對象
---方便對文件的屬性信息進行操作
---可以作爲參數傳入流的構造函數中
---彌補了流的不足(流只能操作數據)
2、常見用法
---基本用法一(file的簡單創建)、
---基本用法二(文件的操作)、
File類的常見用法:
--創建
boolean creatNewFile();
表示:在指定位置創建文件,如果文件已存在,那麼就返回false;
即文件不被覆蓋;而輸出流對象創建後會覆蓋。
--刪除
boolean delete();
表示刪除文件,刪除失敗返回false;
void deleteOnExit();
表示在程序退出時刪除文件;
--判斷
boolean exists();判斷文件是否存在
isFile();是否爲文件
isDirectory();是否爲文件夾
isHidden();是否爲隱藏
isAbsolute();是否存在(不存在時的判斷)
--獲取信息
getName();
getPath();雖然文件不存在,但也能獲得,封裝的什麼就是什麼;
getParent();該方法返回的是絕對路徑中的父目錄;如果是相對路徑則爲 空;
getAbsolutePath();雖然文件不存在,但也能獲得,返回整個路徑;
lastModified();最後一次被修改的時間;返回的是long
length();返回的是long,文件的大小;
renameTo();相當於剪切
具體代碼如下:
--基本用法三(文件列表的操作)、
代碼如下:
--基本用法四(文件篩選)、
文件篩選之一(只是一級目錄下的相關文件):
注意:list與listFile的區別一個得到的是字符串一個是file對象;
文件篩選之二(所有的)、
注意:要想篩選所有的就得使用遞歸!
文件篩選之三(有層次的)、
--基本用法五(文件刪除)、
注意:刪除時,應該先刪除最裏層文件;所以同顯示出所有文件一樣,只不 過加上delete的方法即可;
--基本用法六(建立java文件清單列表)、
思路:-先將指定的文件夾中的文件遞歸出來
-再將所有的java文件篩選出來
-接着將這些文件名存入集合中
-最後將這個集合中的數據儲存在文件中
注意:文件名若定義爲字符串,則通過new File();來轉化成文件名
文件名要轉化爲字符串,就要用toString();
具體代碼如下:
三、特殊對象Properties
1、簡述:
--它是hashTable的子類,具有map集合的特點;而且鍵與值都是字符串的;
--它是集合與IO相互結合的集合容器;
--它可以用於鍵值對形式的配置文件(獨特之處);也可以說是更改電腦或 者遊戲的一些設置,其實就是更改鍵值對的值。
2、存取
代碼如下:
3.存取配置文件
代碼如下:
4.記錄程序運行次數
代碼如下:
四、IO流的其他類
1、打印流
---字節打印流PrintStream
--構造函數可接收的類型:
file對象、字符串路徑、字節輸出流outputStream
---字符打印流PrintWriter(常用)
---構造函數可接收的類型:
file對象、字符串路徑、字節輸出流outputStream、字符輸出流
PrintWriter的示例代碼如下:(爲了簡便就拋異常了)
2、序列流sequenceInputStream
示例代碼如下:
3、切割與合併文件
具體代碼如下: