1.FileOutputStream流順序地寫文件,只要不關(guān)閉流忌锯,每次調(diào)用write方法就順序地向目的地寫入內(nèi)容企巢,直到流被關(guān)閉榔袋。
2.RandomAccessFile的唯一父類是Object烈和,與其他流父類不同爱只。是用來訪問那些保存數(shù)據(jù)記錄的文件的,這樣你就可以用seek( )方法來訪問記錄招刹,并進行讀寫了恬试。這些記錄的大小不必相同;但是其大小和位置必須是可知的。
RandomAccessFile是不屬于InputStream和Outputstream類系的疯暑。實際上训柴,除了實現(xiàn)Datalnput和DataOutput接口之外(DatalnputStream和DataOutputStream也實現(xiàn)了這兩個接口),它和這兩個類系毫不相干妇拯,甚至都沒有用InputStream和outputstream已經(jīng)準(zhǔn)備好的功能;它是一個完全獨立的類幻馁,所有方法(絕大多數(shù)都只屬于它自己)都是從零開始寫的。這可能是因為RandomAccessFile能在文件里面前后移動,所以它的行為與其它的O笑有些根本性的不同宣赔≡铮總而言之,它提是一個直接繼承Object的儒将,獨立的類。是一個隨和讀寫的獨立的類对蒲。
3.b=in.read(tom,0,5);這是使用read()方法钩蚊,規(guī)定了字節(jié)讀取的順序和長度,read方法包括:
①.read ()砰逻,此方法一個字節(jié)一個字節(jié)的讀取,從輸入流中讀取數(shù)據(jù)的下一個字節(jié)泛鸟。返回0到255范圍內(nèi)的 int字節(jié)值。如果因為已經(jīng)到達(dá)流末尾而沒有可用的字節(jié)北滥,則返回值-1 。
②.read (byte[b])再芋,此方法按b進行讀取菊霜,如果文件總共讀取的byte長度是46,b長度為10济赎,則讀取4次,每次讀取10個字書司训,最言一次讀取6個字書。以整數(shù)形式返回實際讀取的字節(jié)數(shù)壳猜。
③.read (byte[] b,int off,int len)方法勾徽,將輸入流中最多l(xiāng)en個數(shù)據(jù)字節(jié)讀入byte數(shù)組。嘗試讀取len個字節(jié)蓖谢,但讀取的字書也可能小手該值捂蕴。以整數(shù)形式返回實際讀取的字節(jié)數(shù)。
4.一個漢字是一個字符,但是占兩個英文字符的位置(或者說需要兩個英文字符的存儲空間)啥辨。具體占多少空間,需要看編碼格式。常見的ascii的話溉知,一個英文字符占1個學(xué)節(jié)(8位),一個中文字符占2個字書(16位)。
5.創(chuàng)建FilelnputStream對象级乍,即文件字節(jié)輸入流可能觸發(fā)FileNotFoundException異常舌劳。
6.FilelnputStream流的int read(byte b[])方法從源中試圖讀取b.length個字節(jié)到字節(jié)數(shù)組b中玫荣,返回實際讀取的字節(jié)數(shù)目。如果到達(dá)文件的末尾捅厂,則返回-1贯卦。
7.FileNotFoundException類是IOException類的子類焙贷。
8.File類的long length()方法返回文件的長度(單位是字節(jié))。
FileOutputStream輸出流按字節(jié)(byte)寫出數(shù)據(jù)辙芍。
9.File類在java.io包中。
10.isFile判斷File對象是否為一個文件故硅,返回值是boolean。
11.public long length()是File類的方法契吉,本題把long型賦給int型需要強制轉(zhuǎn)換。
12.RandomAccessFile類的seek(long a)方法菲语,將讀寫位置定位于文件開頭a個字節(jié)處。