3.1 BufferedInputStream類——緩沖字節(jié)輸入流 125
3.1.1 構(gòu)造方法——BufferedInputStream類的構(gòu)造方法 125
3.1.2 available方法——返回可以讀取的估計字節(jié)數(shù) 125
3.1.3 close方法——關(guān)閉此輸入流并釋放所有關(guān)聯(lián)的系統(tǒng)資源 126
3.1.4 mark方法——記錄當(dāng)前指針?biāo)诘奈恢谩?26
3.1.5 markSupported方法——測試是否支持mark()方法和reset()方法 127
3.1.6 read方法——從輸入流中讀取數(shù)據(jù) 128
3.1.7 reset方法——重新定位輸入流 129
3.1.8 skip方法——跳過并丟棄指定字節(jié)數(shù)量的數(shù)據(jù) 129
3.2 BufferedOutputStream類——緩沖字節(jié)輸出流 130
3.2.1 構(gòu)造方法——BufferedOutputStream類的構(gòu)造方法 130
3.2.2 flush方法——刷新此緩沖輸出流 131
3.2.3 write方法——向輸出流中寫數(shù)據(jù) 131
3.3 BufferedReader類——緩沖字符輸入流 133
3.3.1 構(gòu)造方法——BufferedReader類的構(gòu)造方法 133
3.3.2 close方法——關(guān)閉流并釋放與之關(guān)聯(lián)的所有資源 133
3.3.3 mark方法——記錄當(dāng)前讀指針?biāo)诘奈恢谩?34
3.3.4 markSupported方法——判斷指定流是否支持mark()操作 134
3.3.5 read方法——從緩沖輸入流中讀取字符 135
3.3.6 readLine方法——讀取一個文本行 136
3.3.7 ready方法——判斷此流是否已準(zhǔn)備好被讀取 137
3.3.8 reset方法——重定位指針 137
3.3.9 skip方法——跳過指定數(shù)量的字符 138
3.4 BufferedWriter類——緩沖字符輸出流 138
3.4.1 構(gòu)造方法——BufferedWriter類的構(gòu)造方法 139
3.4.2 close方法——關(guān)閉流 139
3.4.3 flush方法——刷新緩沖區(qū) 139
3.4.4 newLine方法——寫入一個行分隔符 140
3.4.5 write方法——向緩沖區(qū)中寫數(shù)據(jù) 141
3.5 DataInputStream類——數(shù)據(jù)輸入流 142
3.5.1 read方法——讀取一定數(shù)量的字節(jié) 143
3.5.2 readByte方法——讀取此操作需要的字節(jié) 145
3.5.3 readBoolean方法——讀取一個布爾值 145
3.5.4 readchar方法——讀取此操作需要的字符 145
3.5.5 readDouble方法——讀取一個double值 146
3.5.6 readFloat方法——讀取一個float值 146
3.5.7 readFully方法——讀取一些字節(jié) 147
3.5.8 readInt方法——讀取一個int值 148
3.5.9 readLong方法——讀取一個long值 149
3.5.10 readShort方法——讀取一個short值 149
3.5.11 readUnsignedByte方法——讀取無符號的byte值 149
3.5.12 readUnsignedShort方法——讀取無符號的short值 150
3.5.13 readUTF方法——讀取UTF-8編碼的字符串 150
3.5.14 skipBytes方法——在輸入流中跳過數(shù)據(jù)的n個字節(jié) 152
3.6 DataOutputStream類——數(shù)據(jù)輸出流 153
3.6.1 flush方法——清空此數(shù)據(jù)輸出流 153
3.6.2 size方法——返回計數(shù)器 written 的當(dāng)前值 154
3.6.3 write方法(流輸出方法) 155
3.6.4 writeBoolean方法——將boolean值寫入輸出流 156
3.6.5 writeByte方法——將byte值寫入輸出流 156
3.6.6 writeBytes方法——將字符串中每一個字符的低字節(jié)的內(nèi)容寫入輸出流 157
3.6.7 writeChar方法——將char值寫入輸出流 157
3.6.8 writechars方法——將字符串每個char值寫入輸出流 158
3.6.9 writeDouble方法——將double值寫入輸出流 158
3.6.10 writeFloat方法——將float值寫入輸出流 159
3.6.11 writeLong方法——將long值寫入輸出流 160
3.6.12 writeShort方法——將short值寫入輸出流 160
3.6.13 writeUTF()方法——將UTF-8編碼字符寫入輸出流 161
3.7 File類——文件類 161
java.io.File用于表示文件(目錄),也就是說程序員可以通過File類在程序中操作硬盤上的文件和目錄。
File類只用于表示文件(目錄)的信息(名稱、大小等),換句話說只能訪問文件或目錄的相關(guān)屬性,不能對文件的內(nèi)容進(jìn)行訪問。
3.7.1 構(gòu)造方法——File類的構(gòu)造方法 161
File(String pathname)
通過將給定路徑名字符串轉(zhuǎn)換成抽象路徑名來創(chuàng)建一個新 File 實例
提示:抽象路徑應(yīng)盡量使用相對路徑,并且目錄的層級分隔符不要直接寫”/”或”/”,應(yīng)使用File.separator這個常量表示,以避免不同系統(tǒng)帶來的差異。
File的另一個常用構(gòu)造方法:
File(File parent,String child)
根據(jù) parent 抽象路徑名和 child 路徑名字符串創(chuàng)建一個新 File 實例。
3.7.2 常量——File類的常量 162
3.7.3 canExecute方法——判讀文件是否可執(zhí)行 162
3.7.4 canRead方法——判斷文件是否可讀 162
3.7.5 canWrite方法——判斷文件是否可寫 163
3.7.6 compareTo方法——比較文件對象 163
3.7.7 createNewFile方法——創(chuàng)建新的文件 164
File的createNewFile方法用于當(dāng)且僅當(dāng)不存在具有此抽象路徑名指定的名稱的文件時,原子地創(chuàng)建由此抽象路徑名指定的一個新的空文件
boolean createNewFile()返回值:如果指定的文件不存在并成功地創(chuàng)建,則返回 true;如果指定的文件已經(jīng)存在,則返回 false 。
package com.souvc.api;import java.io.File;import java.io.IOException;import org.junit.Test;public class TestFile { @Test public void testCreateNewFile() throws IOException { File file = new File("JavaApi" + File.separator + "Hello.txt"); // 若不存在,就創(chuàng)建該文件 if (!file.exists()) { file.createNewFile(); } }}
3.7.8 createTempFile方法——創(chuàng)建臨時文件 164
3.7.9 delete方法——刪除文件 167
File的delete方法用于刪除此抽象路徑名表示的文件或目錄。
boolean delete()返回值:當(dāng)且僅當(dāng)成功刪除文件或目錄時,返回 true;否則返回 false。
需要注意的是,若此File對象所表示的是一個目錄時,在刪除時需要保證此為空目錄才可以成功刪除(目錄中不能含有任何子項)。
package com.souvc.api;import java.io.File;import java.io.IOException;import org.junit.Test;public class TestFile { @Test public void testDeleteFile() { File file = new File("JavaApi" + File.separator + "Hello.txt"); file.delete(); }}
package com.souvc.api;import java.io.File;import java.io.IOException;import org.junit.Test;public class TestFile { @Test public void testDeleteDir() { File file = new File("myDir"); file.delete(); }}
3.7.10 deleteOnExit方法——在虛擬機(jī)終止時,請求刪除文件 167
3.7.11 equals方法——判斷File對象是否相等 168
3.7.12 exists方法——判斷文件是否存在 168
File的exists方法用于測試此抽象路徑名表示的文件或目錄是否存在
boolean exists()
若該File表示的文件或目錄存在則返回true,否則返回false。
3.7.13 getAbsoluteFile方法——獲取絕對路徑的文件對象 169
3.7.14 getAbsolutePath方法——獲取絕對路徑的字符串對象 169
3.7.15 getCanonicalFile方法——返回此抽象路徑名的規(guī)范形式 170
3.7.16 getCanonicalPath方法——返回此抽象路徑名的規(guī)范路徑名字符串 170
3.7.17 getFreeSpace方法——獲取剩余空間 171
3.7.18 getName方法——獲取文件名稱 172
3.7.19 getParent方法——獲取上一級路徑的字符串 172
3.7.20 getParentFile方法——獲取上一級路徑的File對象 173
3.7.21 getPath方法——獲取路徑字符串 173
3.7.22 getTotalSpace方法——獲取總空間大小 173
3.7.23 getUsableSpace方法——精確獲取可寫入空間大小 174
3.7.24 hashCode方法——生成File對象的哈希碼 174
3.7.25 isAbsolute方法——測試此路徑名是否為絕對路徑名 175
3.7.26 isDirectory方法——判斷File對象是否為目錄 175
File的isDirectory方法用于判斷當(dāng)前File對象表示的是否為一個目錄
boolean isDirectory()返回值:若File對象表示的是一個目錄,則返回true
3.7.27 isFile方法——判斷File對象是否為文件 176
File的isFile方法用于判斷當(dāng)前File對象表示的是否為一個文件
boolean isFile()
3.7.28 isHidden方法——判斷File對象是否設(shè)置隱藏屬性 176
3.7.29 lastModified方法——獲取最后修改時間 177
3.7.30 length方法——獲取文件長度 177
File的length方法用于返回由此抽象路徑名表示的文件的長度
long length() 該方法返回的long值表示該文件所占用的字節(jié)量。
示例:
查看當(dāng)前工程下文件夾下HelloWorld.txt文件的大小。
(1)當(dāng)前工程 JavaApi 下文件夾下,新建JavaApi文件夾,然后新建一個文本文件 HelloWorld.txt。
(2)使用length屬性。
package com.souvc.api;import java.io.File;import org.junit.Test;public class TestFile { @Test public void testLength() { File file = new File("JavaApi" + File.separator + "HelloWorld.txt"); System.out.PRintln(file + "占用字節(jié)量:" + file.length()); }}
(3)效果如下:
JavaApi/HelloWorld.txt占用字節(jié)量:0
(5)在HelloWorld.txt下加個hello字符。再運行。
JavaApi/HelloWorld.txt占用字節(jié)量:5
3.7.31 list方法——獲取目錄列表的字符串?dāng)?shù)組 178
3.7.32 listFiles方法——獲取目錄列表的File數(shù)組 179
(1)File的listFiles方法用于返回一個抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中的文件。
File[] listFiles()返回值:抽象路徑名數(shù)組,這些路徑名表示此抽象路徑名表示的目錄中的文件和目錄。如果目錄為空,那么數(shù)組也將為空。如果抽象路徑名不表示一個目錄,或者發(fā)生 I/O 錯誤,則返回 null。
(2)通過listFiles方法我們可以獲取一個目錄下的所有子項,但有些時候我們并不希望獲取全部子項,而是想獲取部分滿足我們實際需求的子項時,我們可以使用File的重載方法:
File[] listFiles(FileFilter filter)這里我們看到,該重載方法 要求我們傳入一個參數(shù),其類型是FileFilter。什么是FileFilter呢? FileFilter是用于抽象路徑名的過濾器,說白了就是定義一個規(guī)律規(guī)則,那么結(jié)合listFiles方法,我們就可以將滿足此過濾規(guī)則的子項返回, 其他則忽略。
FileFilter是一個接口,所以當(dāng)我們需要定義某種過濾規(guī)則時,我們可以定義一個類來實現(xiàn)這個接口,而此接口的實例可傳遞給 File 類的 listFiles(FileFilter) 方法。
File[] list = dir.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
return pathname.getName().startsWith(".");
}
});
該方法的參數(shù)FileFilter實例的accept方法并進(jìn)行過濾,listFiles方法會將所有accept方法返回true的子項保留并返回。這個例子里我們會將dir中子項的名字以"."開頭的返回。
3.7.33 listRoots方法——獲取根目錄的File數(shù)組 181
3.7.34 mkdir方法——創(chuàng)建目錄 182
File的mkdir方法用于創(chuàng)建此抽象路徑名指定的目錄。
boolean mkdir()返回值:當(dāng)且僅當(dāng)已創(chuàng)建目錄時,返回 true;否則返回 false
package com.souvc.api;import java.io.File;import java.io.IOException;import org.junit.Test;public class TestFile { @Test public void testMkDir() { File dir = new File("myDir"); dir.mkdir(); }}
3.7.35 mkdirs方法——創(chuàng)建完整路徑的所有目錄 183
File的mkdirs方法用于創(chuàng)建此抽象路徑名指定的目錄,包括所有必需但不存在的父目錄。注意,此操作失敗時也可能已經(jīng)成功地創(chuàng)建了一部分必需的父目錄。
boolean mkdirs()返回值:當(dāng)且僅當(dāng)已創(chuàng)建目錄以及所有必需的父目錄時,返回 true;否則返回 false
package com.souvc.api;import java.io.File;import java.io.IOException;import org.junit.Test;public class TestFile { @Test public void testMkDirs() { File dir = new File("a" + File.separator + "b" + File.separator + "c"); dir.mkdirs(); }}
3.7.36 renameTo方法——重命名文件或文件夾 183
3.7.37 setExecutable方法——設(shè)置可執(zhí)行屬性 184
3.7.38 setLastModified方法——設(shè)置最后修改時間 185
3.7.39 setReadable方法——設(shè)置可讀屬性 185
3.7.40 setReadOnly方法——設(shè)置只讀屬性 187
3.7.41 setWritable方法——設(shè)置可寫屬性 187
3.7.42 toString方法——File的字符串格式 188
3.7.43 toURI方法——獲取File的URI 189
3.8 FileInputStream類——文件字節(jié)輸入流 189
3.8.1 構(gòu)造方法——FileInputStream類的構(gòu)造方法 189
3.8.2 available方法——獲取可讀的有效字節(jié)數(shù) 189
3.8.3 close方法——關(guān)閉文件輸入流 190
3.8.4 finalize方法——在銷毀改對象時關(guān)閉輸入流 191
3.8.5 getChannel方法——返回與此文件輸入流有關(guān)的惟一FileChannel對象 191
3.8.6 getFD方法——獲取File對象連接的FileDescriptor對象 191
3.8.7 read方法——從文件字節(jié)流讀取數(shù)組 192
3.8.8 skip方法——跳過并丟棄n個字節(jié) 193
3.9 FileOutputStream類——文件字節(jié)輸出流 194
3.9.1 構(gòu)造方法——FileOutputStream類的構(gòu)造方法 194
3.9.2 close方法——關(guān)閉文件輸出流并釋放資源 195
3.9.3 finalize方法——流銷毀時關(guān)閉輸出流 195
3.9.4 getChannel方法——獲取輸出流的FileChannel對象 195
3.9.5 getFD方法——獲取File對象連接的FileDescriptor對象 196
3.9.6 write方法——向文件輸出流寫數(shù)據(jù) 196
3.10 FileReader類——文件的字符輸入流 199
3.10.1 構(gòu)造方法——FileReader類的構(gòu)造方法 199
3.10.2 close方法——關(guān)閉字符輸入流 200
3.10.3 read方法——讀取字符數(shù)據(jù) 200
3.11 FileWriter類——文件的字符輸出流 202
3.11.1 構(gòu)造方法——FileWriter類的構(gòu)造方法 202
3.11.2 close方法——關(guān)閉字符輸出流 202
3.11.3 flush方法——刷新緩沖區(qū) 203
3.11.4 write方法——向字符輸出流寫數(shù)據(jù) 203
3.12 InputStream類——字節(jié)輸入流 205
3.12.1 available方法——獲取有效的可讀取的字節(jié)數(shù) 205
3.12.2 close方法——關(guān)閉輸入流 206
3.12.3 mark方法——在此輸入流中標(biāo)記當(dāng)前的位置 206
3.12.4 markSupported方法——判斷是否支持mark和reset方法 207
3.12.5 read方法——讀取字節(jié)輸入流中的數(shù)據(jù) 207
3.12.6 reset方法——重新定位到最后一次mark()方法時的位置 209
3.12.7 skip方法——跳過并丟棄n個字節(jié) 209
3.13 OutputStream類——字節(jié)輸出流 210
3.13.1 close方法——關(guān)閉字節(jié)輸出流 210
3.13.2 flush方法——刷新緩沖區(qū) 211
3.13.3 write方法——向輸出流寫數(shù)據(jù) 211
3.14 ObjectOutputStream類——對象輸出流 213
3.14.1 構(gòu)造方法——ObjectOutputStream類的構(gòu)造方法 213
3.14.2 close方法——關(guān)閉對象輸出流 213
3.14.3 flush方法——刷新緩沖區(qū) 214
3.14.4 writeObject方法——向輸出流寫入對象 214
3.14.5 writeBytes方法——向輸出流寫入字符串 215
3.14.6 write方法——向輸出流寫入byte值 215
3.14.7 writeChar方法——向輸出流寫入char值 216
3.14.8 writeChars方法——向輸出流寫入String值 217
3.14.9 writeDouble方法——向輸出流寫入double值 217
3.14.10 writeFields方法——將已緩沖的字段寫入流中 217
3.14.11 writeFloat方法——向輸出流寫入float值 218
3.14.12 writeInt方法——向輸出流寫入int值 218
3.14.13 writeLong方法——向輸出流寫入long值 219
3.14.14 writeShort方法——向輸出流寫入short值 219
3.14.15 writeUTF方法——向輸出流寫入float值 219
3.15 ObjectInputStream類——對象輸入流 220
3.15.1 構(gòu)造方法——ObjectInputStream類的構(gòu)造方法 220
3.15.2 readObject方法——從輸入流讀取對象 220
3.15.3 readInt方法——從輸入流讀取int值 221
3.15.4 readFloat方法——從輸入流讀取float值 221
3.15.5 readchar方法——從輸入流讀取char值 222
3.16 RandomaccessFile類——隨機(jī)文件訪問類 222
Java提供了一個可以對文件隨機(jī)訪問的操作,訪問包括讀和寫操作。該類名為RandomAccessFile。該類的讀寫是基于指針的操作。
3.16.1 構(gòu)造方法——RandomAccessFile類的構(gòu)造方法 222
RandomAccessFile在對文件進(jìn)行隨機(jī)訪問操作時有兩個模式,分別為只讀模式(只讀取文件數(shù)據(jù)),和讀寫模式(對文件數(shù)據(jù)進(jìn)行讀寫)。
只讀模式(只讀取文件數(shù)據(jù)):
在創(chuàng)建RandomAccessFile時,其提供的構(gòu)造方法要求我們傳入訪問模式:
RandomAccessFile(File file,String mode) RandomAccessFile(String filename,String mode)
其中構(gòu)造方法的第一個參數(shù)是需要訪問的文件,而第二個參數(shù)則是訪問模式:
r”:字符串”r”表示對該文件的訪問是只讀的。
讀寫模式(對文件數(shù)據(jù)進(jìn)行讀寫):
創(chuàng)建一個基于文件訪問的讀寫模式的RandomAccessFile我們只需要在第二個參數(shù)中傳入”rw”即可。
RandomAccessFile raf = new RandomAccessFile(file,”rw”);
3.16.2 close方法——關(guān)閉數(shù)據(jù)流 222
RandomAccessFile在對文件訪問的操作全部結(jié)束后,要調(diào)用close()方法來釋放與其關(guān)聯(lián)的所有系統(tǒng)資源。
void close()
RandomAccessFile raf = new RandomAccessFile(file,”rw”);
//讀寫操作
raf.close();//訪問完畢后要關(guān)閉以釋放系統(tǒng)資源。
3.16.3 getChannel方法——返回此文件的FileChannel對象 223
3.16.4 getFD方法——返回此流的不透明文件描述符對象 223
3.16.5 getFilePointer方法——返回文件中的當(dāng)前偏移量 224
RandomAccessFile的讀寫操作都是基于指針的,也就是說總是在指針當(dāng)前所指向的位置進(jìn)行讀寫操作。
RandomAccessFile提供了一個可以獲取當(dāng)前指針位置的方法:
long getFilePointer()RandomAccessFile在創(chuàng)建時默認(rèn)指向文件開始(第一個字節(jié)),通過getFilePointer方法獲取指針位置時值是"0"。
RandomAccessFile raf = new RandomAccessFile(file,”rw”); System.out.println(raf.getFilePointer());//0 raf.write('A');//寫出一個字節(jié)后,指針自動向后移動到下一個字節(jié)位置 System.out.println(raf.getFilePointer());//1 raf.writeInt(3); System.out.println(raf.getFilePointer());//5 raf.close();
3.16.6 length方法——返回此文件的長度 224
3.16.7 read方法——讀取一個數(shù)據(jù)字節(jié) 225
RandomAccessFile提供了一個可以從文件中讀取字節(jié)的方法:
int read() 該方法會從RandomAccessFile當(dāng)前指針位置讀取一個byte(8位) 填充到int的低八位, 高24位為0, 返回值范圍正數(shù): 0~255, 如果返回-1表示讀取到了文件末尾EOF(EOF:End Of File)! 每次讀取后自動移動文件指針, 準(zhǔn)備下次讀取。
3.16.8 readBoolean方法——從文件讀取一個boolean值 227
3.16.9 readByte方法——從文件讀取一個byte值 228
RandomAccessFile提供了一個可以從文件中批量讀取字節(jié)的方法:
int read(byte[] b)該方法會從文件中嘗試最多讀取給定數(shù)組的總長度的字節(jié)量,并從給定的字節(jié)數(shù)組第一個位置開始,將讀取到的字節(jié)順序存放至數(shù)組中,返回值為實際讀取到的字節(jié)量 。
3.16.10 readInt方法——從文件讀取一個int值 228
3.16.11 readChar方法——從文件讀取一個char值 229
3.16.12 readDouble方法——從文件讀取一個double值 229
3.16.13 readFloat方法——從文件讀取一個float值 230
3.16.14 readFully方法——從文件讀取一個字節(jié)數(shù)組 230
3.16.15 readLine方法——從此文件讀取文本的下一行 232
package com.souvc.common.util; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.InputStreamReader; /*** 類名: ReadTxtFile </br>* 描述:讀取文本文件 </br>* 開發(fā)人員: souvc </br>* 創(chuàng)建時間: 2015-11-19 </br>* 發(fā)布版本:V1.0 </br> */public class ReadTxtFile { /** * 功能:Java讀取txt文件的內(nèi)容 * 步驟: * 1:先獲得文件句柄 * 2:獲得文件句柄當(dāng)做是輸入一個字節(jié)碼流,需要對這個輸入流進(jìn)行讀取 * 3:讀取到輸入流后,需要讀取生成字節(jié)流 * 4:一行一行的輸出。readline()。 * 備注:需要考慮的是異常情況 * @param filePath */ public static void readTxtFile(String filePath){ try { String encoding="utf-8"; File file=new File(filePath); if(file.isFile() && file.exists()){ //判斷文件是否存在 InputStreamReader read = new InputStreamReader(new FileInputStream(file),encoding);//考慮到編碼格式 BufferedReader bufferedReader = new BufferedReader(read); String lineTxt = null; while((lineTxt = bufferedReader.readLine()) != null){ System.out.println(lineTxt); } read.close(); }else{ System.out.println("找不到指定的文件"); } } catch (Exception e) { System.out.println("讀取文件內(nèi)容出錯"); e.printStackTrace(); } } public static void main(String argv[]){ String filePath = "test.txt"; readTxtFile(filePath); } }
新建一個test.txt文件,放到項目根目錄。
3.16.16 readLong方法——從文件讀取一個long值 232
3.16.17 readShort方法——從文件讀取一個short值 233
3.16.18 readUnsignedByte方法——從文件讀取無符號byte值 234
3.16.19 readUnsignedShort方法——從文件讀取無符號short值 234
3.16.20 readUTF方法——從此文件讀取一個UTF-8字符串 235
3.16.21 setLength方法——設(shè)置此文件的長度 235
3.16.22 seek方法——將文件指針移至指定位置 236
RandomAccessFile的提供了一個方法用于移動指針位置。
void seek(long pos)使用該方法可以移動指針到指定位置。
RandomAccessFile raf = new RandomAccessFile(file,”rw”); System.out.println(raf.getFilePointer());//0 raf.write('A');//指針位置1 raf.writeInt(3);//指針位置5 raf.seek(0);//將指針移動到文件開始處(第一個字節(jié)的位置) System.out.println(raf.getFilePointer());//0 raf.close();
3.16.23 skipBytes方法——跳過并丟棄n個字節(jié) 236
RandomAccessFile的提供了一個方法可以嘗試跳過輸入的 n 個字節(jié)以丟棄跳過的字節(jié),方法定義為:
int skipBytes(int n)該方法可能跳過一些較少數(shù)量的字節(jié)(可能包括零)。這可能由任意數(shù)量的條件引起;在跳過n個字節(jié)之前已到達(dá)文件的末尾只是其中的一種可能。此方法不拋出 EOFException。返回跳過的實際字節(jié)數(shù)。如果 n 為負(fù)數(shù),則不跳過任何字節(jié)。
3.16.24 write方法——向此文件寫入指定的字節(jié) 237
RandomAccessFile提供了一個可以向文件中寫出字節(jié)的方法:
void write(int d)該方法會根據(jù)當(dāng)前指針?biāo)谖恢锰帉懭胍粋€字節(jié),是將參數(shù)int的”低8位”寫出。
RandomAccessFile提供了一個可以向文件中寫出一組字節(jié)的方法:
void write(byte[] d)該方法會根據(jù)當(dāng)前指針?biāo)谖恢锰庍B續(xù)寫出給定數(shù)組中的所有字節(jié),與該方法相似的還有一個常用方法:
void write(byte[] d,int offset,int len)
該方法會根據(jù)當(dāng)前指針?biāo)谖恢锰庍B續(xù)寫出給定數(shù)組中的部分字節(jié),這個部分是從數(shù)組的offset處開始,連續(xù)len個字節(jié)。
3.16.25 writeBoolean方法——將 boolean 寫入文件 239
3.16.26 writeByte方法——將 byte 寫入該文件 239
3.16.27 writeBytes方法——按字節(jié)序列將該字符串寫入該文件 240
3.16.28 writeChars方法——寫入作為字符數(shù)據(jù)的字符串 240
3.16.29 writeDouble方法——寫入double值 241
3.16.30 writeFloat方法——向文件寫入float值 241
3.16.31 writeInt方法——向文件寫入int值 242
3.16.32 writeLong方法——向文件寫入long值 242
3.16.33 writeShort方法——向文件寫入short值 243
3.16.34 writeUTF方法——向文件寫入UTF-8 編碼的字符串 243
3.17 Reader類——讀取字符流的抽象類 244
3.17.1 close方法——關(guān)閉流 244
3.17.2 mark方法——標(biāo)記流中的當(dāng)前位置 244
3.17.3 markSupported方法——判斷是否支持mark()操作 245
3.17.4 read方法——讀取流中的數(shù)據(jù) 245
3.17.5 ready方法——判斷是否準(zhǔn)備讀取此流 247
3.17.6 reset方法——重置該流 248
3.17.7 skip方法——跳過并丟棄n個字節(jié) 248
3.18 Scanner類——簡單文本掃描器 249
3.18.1 構(gòu)造方法——Scanner類的構(gòu)造方法 249
3.18.2 close方法——關(guān)閉掃描器 250
3.18.3 delimiter方法——返回匹配分隔符的 Pattern 250
3.18.4 findInLine方法——忽略分隔符查找下一個構(gòu)造模式 250
3.18.5 findWithinHorizon方法——試圖查找下一個指定模式 251
3.18.6 hasNext方法——掃描器的輸入中是否有另一個標(biāo)記 252
3.18.7 hasNextBigDecimal方法——下一個標(biāo)記是否默認(rèn)基數(shù)中的一個 BigDecimal 254
3.18.8 hasNextBigInteger方法——下一個標(biāo)記是否默認(rèn)基數(shù)中的一個BigInteger 254
3.18.9 hasNextBoolean方法——下一個標(biāo)記是否為布爾值 255
3.18.10 hasNextByte方法——下一個標(biāo)記是否為byte值 256
3.18.11 hasNextDouble方法——下一個標(biāo)記是否為double值 256
3.18.12 hasNextFloat方法——下一個標(biāo)記是否為float值 257
3.18.13 hasNextInt方法——下一個標(biāo)記是否為int值 257
3.18.14 hasNextLine方法——是否存在下一行 258
3.18.15 hasNextLong方法——下一個標(biāo)記是否為long值 259
3.18.16 hasNextShort方法——下一個標(biāo)記是否為short值 260
3.18.17 ioException方法——最后拋出的 IOException 260
3.18.18 locale方法——返回此掃描器的語言環(huán)境 261
3.18.19 match方法——最后掃描操作的匹配結(jié)果 261
3.18.20 next方法——讀取下一個完整標(biāo)記 262
3.18.21 nextBigDecimal方法——讀取下一個BigDecimal對象 263
3.18.22 nextBigInteger方法——讀取下一個BigInteger對象 264
3.18.23 nextBoolean方法——讀取下一個boolean值 265
3.18.24 nextByte方法——讀取下一個byte值 266
3.18.25 nextDouble方法——讀取下一個double值 267
3.18.26 nextFloat方法——讀取下一個float值 267
3.18.27 nextInt方法——讀取下一個int值 268
3.18.28 nextLine方法——讀取下一行文本 269
3.18.29 nextLong方法——讀取下一個long值 269
3.18.30 nextShort方法——讀取下一個short值 270
3.18.31 radix方法——返回掃描器的默認(rèn)基數(shù) 271
3.18.32 reset方法——重置掃描器 271
3.18.33 skip方法——忽略分隔符跳過匹配的輸入信息 272
3.18.34 toString方法——返回此 Scanner 的字符串表示形式 273
3.18.35 useDelimiter方法——設(shè)置為指定分隔模式 273
3.18.36 useLocale方法——設(shè)置為指定的語言環(huán)境 274
3.18.37 useRadix方法——設(shè)置指定基數(shù) 274
3.19 Writer類——寫入字符流的抽象類 275
3.19.1 append方法——添加指定字符 275
3.19.2 close方法——關(guān)閉數(shù)據(jù)流 275
3.19.3 flush方法——刷新流的緩沖 276
3.19.4 write方法——向字符輸出流中寫數(shù)據(jù) 276
新聞熱點
疑難解答