- 相關推薦
Java基礎之File類的使用
導語:Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特征。下面我們來看看Java基礎之File類的使用,希望對大家有所幫助。
一、File類
java.io.File類只能用于表示文件或目錄的信息(名稱、大小等),不能用于文件內容的訪問
語法:File file = new File();
()中可以填入多種參數,最常見的是填入文件或目錄的路徑,例如:File file = new File("e:\FileTest\test.txt")
注意:如果不指定父目錄,則該文件或目錄直接生成在項目目錄下
File類常見API介紹:
·exists:file.exists(),判斷文件或目錄是否存在,存在返回true,不存在返回false
·mkdir/mkdirs:file.mkdir()/file.mkdirs,創建目錄,mkdirs用于創建多級目錄
·isDirectory:file.isDirectory(),判斷文件是否為目錄,是目錄返回true,不是目錄或者目錄不存在返回false
·isFile:file.isFile(),判斷文件是否為文件,是文件返回true,不是文件或者文件不存在返回false
·:file.(),刪除文件或目錄
二、RandomAccessFile類
Java提供的對文件內容的訪問類,既可以讀文件,也可以寫文件
并且,RandomAccessFile支持隨機訪問文件,可以訪問文件的任意位置
Java文件模型:
再硬盤上的文件是以byte byte byte的形式存儲,是數據的集合
打開文件有兩種模式:"rw"讀寫方式,"r"只讀方式
語法:RandomAccessFile raf = new RandomAccessFile(File, String);
()中兩個參數,File指要訪問的文件,String指文件的打開方式"rw"或"r"
文件指針:
打開文件時會生成一個文件指針,并且再開頭位置,pointer = 0
寫方法:
raf.write(),一次只寫一個字節并且從后8位開始寫。指針指向下一個位置,準備再次寫入
例如我要寫入一個int型整數,就需要寫四次才能完全寫入
寫方法:
raf.read(),一次讀一個字節(從指針位置)
文件讀寫完成后一定要關閉,raf.close(),否則可能會產生一些位置錯誤
示例具體寫入一個int型數值:
1 2 3 4 5 | int i = 0x7fffffff ; raf.write(i >>> 24 ); //高8位 raf.write(i >>> 16 ); raf.write(i >>> 8 ); raf.write(i); //末8位 |
其實,RandomAccessFile提供了直接寫入八種基本數據類型的方法。例如上面我們就可以直接寫成:
1 | raf.writeInt(i); |
如果要寫入一個字符串,那么我們可以把它先轉化成字節數組,然后再寫入:
1 2 3 | String s = "你好" ; byte [] b = s.getBytes( "utf-8" ); raf.write(b); |
讀文件的時候要把指針移動到開頭,RadomAccessFile提供了seek方法,raf.seek(0)就可以將指針移到頭部
一次性讀取,把文件內容都讀取到字節數組中:
1 2 3 4 | byte [] b = new byte [( int )raf.length()]; raf.read(b); String s = new String(b); System.out.println(s); |
最后一定不要忘記調用close方法進行關閉
【Java基礎之File類的使用】相關文章:
Java語法基礎之for語句練習04-28
java system類使用方法示例10-09
Java中ArrayList類的使用用法07-12
Java語法基礎中函數的使用說明08-24
java.util.ArrayDeque類使用方法介紹07-14
Java的類07-19
如何使用java10-14
java編程基礎07-26
java語言基礎08-29
Java語言的基礎07-29