Java基礎之File類的使用
導語:Java是一門物件導向程式設計語言,不僅吸收了C++語言的各種優點,還摒棄了C++裡難以理解的多繼承、指標等概念,因此Java語言具有功能強大和簡單易用兩個特徵。下面我們來看看Java基礎之File類的使用,希望對大家有所幫助。
一、File類
類只能用於表示檔案或目錄的資訊(名稱、大小等),不能用於檔案內容的訪問
語法:File file = new File();
()中可以填入多種引數,最常見的是填入檔案或目錄的路徑,例如:File file = new File("e:FileTest")
注意:如果不指定父目錄,則該檔案或目錄直接生成在專案目錄下
File類常見API介紹:
·exists:ts(),判斷檔案或目錄是否存在,存在返回true,不存在返回false
·mkdir/mkdirs:r()/rs,建立目錄,mkdirs用於建立多級目錄
·isDirectory:rectory(),判斷檔案是否為目錄,是目錄返回true,不是目錄或者目錄不存在返回false
·isFile:le(),判斷檔案是否為檔案,是檔案返回true,不是檔案或者檔案不存在返回false
·:file.(),刪除檔案或目錄
二、RandomAccessFile類
Java提供的'對檔案內容的訪問類,既可以讀檔案,也可以寫檔案
並且,RandomAccessFile支援隨機訪問檔案,可以訪問檔案的任意位置
Java檔案模型:
再硬碟上的檔案是以byte byte byte的形式儲存,是資料的集合
開啟檔案有兩種模式:"rw"讀寫方式,"r"只讀方式
語法:RandomAccessFile raf = new RandomAccessFile(File, String);
()中兩個引數,File指要訪問的檔案,String指檔案的開啟方式"rw"或"r"
檔案指標:
開啟檔案時會生成一個檔案指標,並且再開頭位置,pointer = 0
寫方法:
e(),一次只寫一個位元組並且從後8位開始寫。指標指向下一個位置,準備再次寫入
例如我要寫入一個int型整數,就需要寫四次才能完全寫入
寫方法:
(),一次讀一個位元組(從指標位置)
檔案讀寫完成後一定要關閉,e(),否則可能會產生一些位置錯誤
示例具體寫入一個int型數值:
12345 | int i = 0x7fffffff ; e(i >>> 24 ); //高8位 e(i >>> 16 ); e(i >>> 8 ); e(i); //末8位 |
其實,RandomAccessFile提供了直接寫入八種基本資料型別的方法。例如上面我們就可以直接寫成:
1 | eInt(i); |
如果要寫入一個字串,那麼我們可以把它先轉化成位元組陣列,然後再寫入:
123 | String s = "你好" ; byte [] b = ytes( "utf-8" ); e(b); |
讀檔案的時候要把指標移動到開頭,RadomAccessFile提供了seek方法,(0)就可以將指標移到頭部
一次性讀取,把檔案內容都讀取到位元組陣列中:
1234 | byte [] b = new byte [( int )th()]; (b); String s = new String(b); tln(s); |
最後一定不要忘記呼叫close方法進行關閉