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