




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 輸入輸入/ /輸出處理是程序設(shè)計(jì)中重要的一個(gè)部分,比如從鍵盤(pán)讀取數(shù)據(jù)、從輸出處理是程序設(shè)計(jì)中重要的一個(gè)部分,比如從鍵盤(pán)讀取數(shù)據(jù)、從文件中讀取數(shù)據(jù)或向文件中寫(xiě)數(shù)據(jù)等等。文件中讀取數(shù)據(jù)或向文件中寫(xiě)數(shù)據(jù)等等。javajava把這些不同類型的輸入、把這些不同類型的輸入、輸出源抽象為流(輸出源抽象為流(streamstream),用統(tǒng)一接口來(lái)表示,從而使程序簡(jiǎn)單明了。),用統(tǒng)一接口來(lái)表示,從而使程序簡(jiǎn)單明了。本章主要介紹本章主要介紹javajava程序輸入輸出的實(shí)現(xiàn)和文件與目錄的管理。程序輸入輸出的實(shí)現(xiàn)和文件與目錄的管理。 本章要點(diǎn)本章要點(diǎn)l10.1 輸入與輸出基礎(chǔ)輸入與輸出基礎(chǔ)l10.2 文件輸入文
2、件輸入/輸出輸出l思考與練習(xí)思考與練習(xí)10java的輸入輸出功能必須使用類庫(kù)java.io來(lái)實(shí)現(xiàn),這個(gè)類庫(kù)中的類大部分是用來(lái)完成流式輸入輸出的類。java applet程序的特點(diǎn)如下。10.1.1 流的概念流的概念流式輸入輸出是一種很常見(jiàn)的輸入輸出方式。流是指在計(jì)算機(jī)的輸入與輸出之間運(yùn)動(dòng)的數(shù)據(jù)序列。流序列中的數(shù)據(jù)既可以是未經(jīng)加工的原始的二進(jìn)制數(shù)據(jù),也可以是經(jīng)一定編碼處理后符合某種格式規(guī)定的特定數(shù)據(jù)。java程序通過(guò)流來(lái)完成輸入/輸出。流通過(guò)java的輸入/輸出系統(tǒng)與物理設(shè)備鏈接。盡管與它們鏈接的物理設(shè)備不盡相同,所有流的行為具有同樣的方式。這樣,相同的輸入/輸出類和方法適用于所有類型的外部設(shè)備
3、。這意味著一個(gè)輸入流能夠抽象多種不同類型的輸入:磁盤(pán)文件,鍵盤(pán)或網(wǎng)絡(luò)套接字。同樣,一個(gè)輸出流可以輸出到控制臺(tái),磁盤(pán)文件或相連的網(wǎng)絡(luò)。java中流的實(shí)現(xiàn)是在java.io包定義的類層次結(jié)構(gòu)內(nèi)部的。在java中,把不同類型的輸入、輸出源(鍵盤(pán)、文件、網(wǎng)絡(luò)等)抽象為流(stream),而其中輸入或輸出的數(shù)據(jù)則稱為數(shù)據(jù)流(data stream),用統(tǒng)一的方式來(lái)表示,從而使程序設(shè)計(jì)簡(jiǎn)單明了。輸入流只能從中讀取數(shù)據(jù),而不能向其寫(xiě)出數(shù)據(jù);輸出流只能向其寫(xiě)出數(shù)據(jù),而不能從中讀取數(shù)據(jù)。10.1.2 字節(jié)流與字符流字節(jié)流與字符流java定義了兩種類型的流:字節(jié)類和字符類。它們屬于基本輸入/輸出流類,是其他輸入/
4、輸出流類的父類。字節(jié)流(byte stream)為處理字節(jié)的輸入和輸出提供了方便的方法,例如,使用字節(jié)流讀取或書(shū)寫(xiě)二進(jìn)制數(shù)據(jù)。字符流(character stream)為字符的輸入和輸出處理提供了方便。它們采用了統(tǒng)一的編碼標(biāo)準(zhǔn),因而可以國(guó)際化。當(dāng)然,在某些場(chǎng)合,字符流比字節(jié)流更有效。需要聲明:在最底層,所有的輸入/輸出都是字節(jié)形式的?;谧址牧髦粸樘幚碜址峁┓奖阌行У姆椒āO旅媸菍?duì)字節(jié)流和字符流的介紹。字節(jié)流類字節(jié)流由兩個(gè)類層次結(jié)構(gòu)定義。在頂層有兩個(gè)抽象類:inputstream 和 outputstream。每個(gè)抽象類都有多個(gè)具體的子類,這些子類對(duì)不同的外設(shè)進(jìn)行處理,例如磁盤(pán)文件,網(wǎng)絡(luò)連
5、接,甚至是內(nèi)存緩沖區(qū)。需要說(shuō)明的是,要使用流類,必須導(dǎo)入java.io包。書(shū)中表10-1顯示了字節(jié)流類。 10.1.2 字節(jié)流與字符流字節(jié)流與字符流抽象類inputstream 和 outputstream定義了實(shí)現(xiàn)其他流類的關(guān)鍵方法。最重要的兩種方法是read()和write(),它們分別對(duì)數(shù)據(jù)的字節(jié)進(jìn)行讀寫(xiě)。兩種方法都在inputstream 和outputstream中被定義為抽象方法,它們被派生的流類重載。inputstream類中的常用方法有:int read():從輸入流中讀一個(gè)字節(jié),形成一個(gè)0255之間的整數(shù)返回(是一個(gè)抽象方法)。int read(byte b):讀多個(gè)字節(jié)到數(shù)
6、組中。int read(byte b, int off, int len):從輸入流中讀取長(zhǎng)度為len的數(shù)據(jù),寫(xiě)入數(shù)組b中從索引off開(kāi)始的位置,并返回讀取的字節(jié)數(shù)。對(duì)于這三個(gè)方法,若返回1,表明流結(jié)束。10.1.2 字節(jié)流與字符流字節(jié)流與字符流skip():跳過(guò)流中若干字節(jié)數(shù)available():返回流中可用字節(jié)數(shù)mark():在流中標(biāo)記一個(gè)位置reset():返回標(biāo)記過(guò)得位置marksupport():是否支持標(biāo)記和復(fù)位操作close():關(guān)閉流outputstream類的常用方法有:write(int b):將一個(gè)整數(shù)輸出到流中(只輸出低位字節(jié),抽象方法)nwrite(byte b):
7、將字節(jié)數(shù)組中的數(shù)據(jù)輸出到流中nwrite(byte b, int off, int len):將數(shù)組b中從off指定的位置開(kāi)始,長(zhǎng)度為len的數(shù)據(jù)輸出到流中flush():刷空輸出流,并將緩沖區(qū)中的數(shù)據(jù)強(qiáng)制送出close():關(guān)閉流10.1.2 字節(jié)流與字符流字節(jié)流與字符流字符流類字符流類由兩個(gè)類層次結(jié)構(gòu)定義。頂層有兩個(gè)抽象類:reader和writer。這些抽象類處理統(tǒng)一編碼的字符流。java中這些類含有多個(gè)具體的子類。字符流類如書(shū)中表10-2所示。 抽象類reader和writer定義了幾個(gè)實(shí)現(xiàn)其他流類的關(guān)鍵方法。其中兩個(gè)最重要的是read()和write(),它們分別進(jìn)行字符數(shù)據(jù)的讀和寫(xiě)
8、。這些方法被派生流類重載。java的輸入/輸出類庫(kù)中包含的流類很多,這里只作了一個(gè)簡(jiǎn)要的介紹。更詳細(xì)的內(nèi)容可以參看類庫(kù)手冊(cè)。 10.1.3 標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出輸出java程序使用字符界面與系統(tǒng)標(biāo)準(zhǔn)輸入輸出間進(jìn)行數(shù)據(jù)通信,即從鍵盤(pán)讀入數(shù)據(jù),或向屏幕輸出數(shù)據(jù),是十分常見(jiàn)的操作。為此而頻頻創(chuàng)建輸入輸出流類對(duì)象將很不方便。因此,java系統(tǒng)事先定義好三個(gè)流對(duì)象,分別與系統(tǒng)的標(biāo)準(zhǔn)輸入、標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤輸出相聯(lián)系。所有的java程序自動(dòng)導(dǎo)入java.lang包。該包定義了一個(gè)名為system的類,該類封裝了運(yùn)行時(shí)環(huán)境的多個(gè)方面。例如,使用它的某些方法,你能獲得當(dāng)前時(shí)間和與系統(tǒng)有關(guān)的不同屬性。syst
9、em 同時(shí)包含三個(gè)預(yù)定義的流變量:in,out和err。這些成員在system中是被定義成public和static型的,這意味著它們可以不引用特定的system對(duì)象而被用于程序的其他部分。10.1.3 標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出輸出system.out是標(biāo)準(zhǔn)的輸出流,默認(rèn)情況下,它指的是顯示設(shè)備。system.in是標(biāo)準(zhǔn)輸入,默認(rèn)情況下,它指的是鍵盤(pán)。system.err指的是標(biāo)準(zhǔn)錯(cuò)誤流,它默認(rèn)是顯示設(shè)備。這些流也可以重定向到任何兼容的輸入/輸出設(shè)備。system.in 是inputstream的對(duì)象;system.out和system.err是printstream的對(duì)象。盡管它們用來(lái)讀寫(xiě)外設(shè)
10、的字符,但它們都是字節(jié)流。(1)標(biāo)準(zhǔn)輸入java的標(biāo)準(zhǔn)輸入system.in是inputstream類的對(duì)象,當(dāng)程序中需要從鍵盤(pán)讀入數(shù)據(jù)的時(shí)候,只需調(diào)用system.in的read()方法即可。如下面的語(yǔ)句將從鍵盤(pán)讀入一個(gè)字節(jié)的數(shù)據(jù):char ch = system.in.read();10.1.3 標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出輸出在使用system.in.read()方法讀入數(shù)據(jù)時(shí),需要注意如下幾點(diǎn):system.in.read()語(yǔ)句必須包含在try塊中,且try塊后面應(yīng)該有一個(gè)可接收ioexception異常的catch塊。如下例所示:try ch = system.in.read(); ca
11、tch(ioexception e) 執(zhí)行system.in.read()方法將從鍵盤(pán)緩沖區(qū)讀入一個(gè)字節(jié)的數(shù)據(jù),然而返回的卻是16比特的整型量的低位字節(jié)是真正輸入的數(shù)據(jù),其高位字節(jié)是全零。10.1.3 標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出輸出另外,作為inputstream類的對(duì)象,system.in只能從鍵盤(pán)讀取二進(jìn)制的數(shù)據(jù),而不能把這些比特信息轉(zhuǎn)換為整數(shù)、字符、浮點(diǎn)數(shù)或字符串等復(fù)雜數(shù)據(jù)類型的量。當(dāng)鍵盤(pán)緩沖區(qū)中沒(méi)有未被讀取的數(shù)據(jù)時(shí),執(zhí)行system.in.read()將導(dǎo)致系統(tǒng)轉(zhuǎn)入阻塞(block)狀態(tài)。在阻塞狀態(tài)下,當(dāng)前流程將停留在上述語(yǔ)句位置且整個(gè)程序被掛起,等待用戶輸入一個(gè)鍵盤(pán)數(shù)據(jù)后,才能繼續(xù)運(yùn)行下
12、去;所以程序中有時(shí)利用system.in.read()語(yǔ)句來(lái)達(dá)到暫時(shí)保留屏幕的目的。例如,下面的語(yǔ)句段:system.out.println(press any key to finish the program);try char test=(char)system.in.read( );catch(ioexception e) 10.1.3 標(biāo)準(zhǔn)輸入標(biāo)準(zhǔn)輸入/輸出輸出(2) 標(biāo)準(zhǔn)輸出java的標(biāo)準(zhǔn)輸出system.out是打印輸出流printstream類的對(duì)象。printstream是過(guò)濾輸出類流filteroutputstream的一個(gè)子類,其中定義了向屏幕輸送不同類型數(shù)據(jù)的方法pri
13、nt()和println()。println()方法有多種形式,概括起來(lái)可表述為:public void println ( 類型 變量或?qū)ο?);println()的作用是向屏幕輸出其參數(shù)指定的變量或?qū)ο?,然后再換行,使光標(biāo)停留在屏幕下一行第一個(gè)字符的位置。如果println()方法的參數(shù)為空,則將輸出一個(gè)空行。println()方法可輸出多種不同類型的變量或?qū)ο?,包括boolean,double,float,int,long類型的變量以及object類的對(duì)象。print()方法的使用情況與println()方法完全相同,也可以實(shí)現(xiàn)在屏幕上輸出不同類型的變量和對(duì)象的操作。不同的是,print
14、()方法輸出對(duì)象后并不附帶一個(gè)回車(chē),下一次輸出時(shí),將輸出在同一行中。java提供了一系列的讀寫(xiě)文件的類和方法。在java中,所有文件都是字節(jié)形式的。java提供從文件讀寫(xiě)字節(jié)的方法,而且允許在字符形式的對(duì)象中使用字節(jié)文件流。10.2.1 java文件和目錄管理文件和目錄管理文件是用來(lái)保存數(shù)據(jù)的,目錄是管理文件的特殊機(jī)制,同類文件保存在同一個(gè)目錄下可以簡(jiǎn)化文件管理。因此,掌握文件和目錄的操作對(duì)于編程人員是十分必須的。java支持文件管理和目錄管理,它們都是由專門(mén)的java.io.file類來(lái)實(shí)現(xiàn)。file類也屬于javaio包中,但它不是inputstream或者outputstream的子類。
15、每個(gè)file類的對(duì)象表示一個(gè)磁盤(pán)文件或目錄,其對(duì)象屬性中包含了文件或目錄的相關(guān)信息,如名稱、長(zhǎng)度、所含文件個(gè)數(shù)等,調(diào)用它的方法則可以完成對(duì)文件或目錄的常用管理操作,如創(chuàng)建、刪除等。10.2.1 java文件和目錄管理文件和目錄管理1創(chuàng)建創(chuàng)建file類的對(duì)象類的對(duì)象每個(gè)file類的對(duì)象都對(duì)應(yīng)了系統(tǒng)的一個(gè)磁盤(pán)文件或目錄,所以創(chuàng)建file類對(duì)象時(shí)需指明它所對(duì)應(yīng)的文件或目錄名。file類共提供了三個(gè)不同的構(gòu)造方法,以不同的參數(shù)形式靈活地接收文件和目錄名信息。(1)file(string path):字符串參數(shù)path指明了新創(chuàng)建的file對(duì)象對(duì)應(yīng)的磁盤(pán)文件或目錄名及其路徑名。path參數(shù)也可以對(duì)應(yīng)磁盤(pán)
16、上的某個(gè)目錄,如“c:javatemp”或“javatemp”。(2)file(string path,string name):第一個(gè)參數(shù)path表示所對(duì)應(yīng)的文件或目錄的絕對(duì)或相對(duì)路徑,第二個(gè)參數(shù)name表示文件或目錄名。這里將路徑與名稱分開(kāi)的好處是相同路徑的文件或目錄可共享同一個(gè)路徑字符串,管理、修改都較方便。(3)file(file dir,string name):這個(gè)構(gòu)造方法使用另一個(gè)已經(jīng)存在的代表某磁盤(pán)目錄的file對(duì)象作為第一個(gè)參數(shù),表示文件或目錄的路徑,第二個(gè)字符串參數(shù)表述文件或目錄名。10.2.1 java文件和目錄管理文件和目錄管理2獲取文件或目錄屬性獲取文件或目錄屬性一個(gè)
17、對(duì)應(yīng)于某磁盤(pán)文件或目錄的file對(duì)象一經(jīng)創(chuàng)建,就可以通過(guò)調(diào)用它的方法來(lái)獲得該文件或目錄的屬性。其中,較常用的方法如下:(1)判斷文件或目錄是否存在:pub1ic boo1ean exists();若文件或目錄存在,則返回true;否則返回false(2)判斷是文件還是目錄:public boolean isfile();若對(duì)象代表有效文件,則返回truepub1ic boolean isdirectory();若對(duì)象代表有效目錄,則返回true10.2.1 java文件和目錄管理文件和目錄管理2獲取文件或目錄屬性獲取文件或目錄屬性(3)獲取文件或目錄名稱與路徑:public string ge
18、tname();返回文件名或目錄名public string getpath();返回文件或目錄的路徑(4)獲取文件的長(zhǎng)度:public long length();返回文件的字節(jié)數(shù)(5)獲取文件讀寫(xiě)屬性public boolean canread();若文件為可讀文件,則返回true,否則返回falsepublic boolean canwrite();若文件為可寫(xiě)文件,返回true,否則返回false 10.2.1 java文件和目錄管理文件和目錄管理2獲取文件或目錄屬性獲取文件或目錄屬性(6)列出目錄中的文件:public strins list();將目錄中所有文件名保存在字符串?dāng)?shù)組中
19、返回(7)比較兩個(gè)文件或目錄public boolean equals(file f);若兩個(gè)file對(duì)象相同,則返回true10.2.1 java文件和目錄管理文件和目錄管理3文件或目錄操作文件或目錄操作file類中還定義了一些對(duì)文件或目錄進(jìn)行管理、操作的方法,常用的有如下幾種:(1)重命名文件:pub1ic boolean renameto(filenewfile);將文件重命名成newfile對(duì)應(yīng)的文件名(2)刪除文件:public void delete();將當(dāng)前文件刪除(3)創(chuàng)建目錄:public boolean mkdir();創(chuàng)建當(dāng)前目錄的子目錄 10.2.2 文件輸入文件輸入
20、/輸出流輸出流使用file類,可以方便地建立與某磁盤(pán)文件的連接,但是,如果希望從磁盤(pán)文件讀取數(shù)據(jù),或者將數(shù)據(jù)寫(xiě)入文件,還需要使用文件輸入/輸出流類fileinputstream和fileoutputstream。下面是它們的形式:fileinputstream(string filename) throws filenotfoundexceptionfileoutputstream(string filename) throws filenotfoundexception這里,filename指定需要打開(kāi)的文件名。當(dāng)你創(chuàng)建了一個(gè)輸入流而文件不存在時(shí),引發(fā)filenotfoundexceptio
21、n異常。對(duì)于輸出流,如果文件不能生成,則引發(fā)filenotfound exception異常。如果一個(gè)輸出文件被打開(kāi),所有原先存在的同名的文件被破壞。10.2.2 文件輸入文件輸入/輸出流輸出流當(dāng)你對(duì)文件的操作結(jié)束后,需要調(diào)用close( )來(lái)關(guān)閉文件。該方法在fileinputstream和fileoutputstream中都有定義。例如:void close( ) throws ioexception為讀文件,可以使用在fileinputstream中定義的read( )方法。例如:int read( ) throws ioexception該方法每次被調(diào)用,它僅從文件中讀取一個(gè)字節(jié)并將該
22、字節(jié)以整數(shù)形式返回。當(dāng)讀到文件尾時(shí),read( )返回-1。該方法可以引發(fā)ioexception異常。向文件中寫(xiě)數(shù)據(jù),需用fileoutputstream定義的write()方法。它的最簡(jiǎn)單形式如下:void write(int byteval) throws ioexception該方法按照byteval指定的數(shù)向文件寫(xiě)入字節(jié)。盡管byteval作為整數(shù)聲明,但僅低8位字節(jié)可以寫(xiě)入文件。如果在寫(xiě)的過(guò)程中出現(xiàn)問(wèn)題,一個(gè)ioexception異常被引發(fā)。10.2.2 文件輸入文件輸入/輸出流輸出流利用文件輸入、輸出流完成磁盤(pán)文件的讀寫(xiě)一般應(yīng)遵循如下的步驟:1 1利用文件名字符串或利用文件名字符串
23、或filefile對(duì)象創(chuàng)建輸入輸出流對(duì)象對(duì)象創(chuàng)建輸入輸出流對(duì)象fileinputstream有兩個(gè)常用的構(gòu)造方法:(1)fileinputstream(string filename);利用文件名(包括路徑名)字符串創(chuàng)建從該文件讀入數(shù)據(jù)的輸入流。(2)fileinputstream(file f);利用已存在的file對(duì)象創(chuàng)建從該對(duì)象對(duì)應(yīng)的磁盤(pán)文件中讀入數(shù)據(jù)的文件輸入流。需要注意的是:無(wú)論哪個(gè)構(gòu)造方法,在創(chuàng)建文件輸入或輸出流時(shí)都可能因給出的文件名不對(duì)或路徑不對(duì),或文件的屬性不對(duì)等,不能讀出文件而造成錯(cuò)誤,此時(shí)系統(tǒng)會(huì)拋出異常filenotfoundexception。所以創(chuàng)建文件輸入、輸出流并調(diào)
24、用構(gòu)造方法的語(yǔ)句應(yīng)該被包括在try塊中,并有相應(yīng)的catch塊來(lái)處理它們可能產(chǎn)生的異常。10.2.2 文件輸入文件輸入/輸出流輸出流2 2從文件輸入從文件輸入/ /輸出流中讀寫(xiě)數(shù)據(jù)輸出流中讀寫(xiě)數(shù)據(jù)從文件輸入、輸出流中讀寫(xiě)數(shù)據(jù)有兩種方式,一是直接利用fileinputstream和fileoutputstream自身的讀寫(xiě)功能;一是以fileinputstream和fileoutputstream為原始數(shù)據(jù)源,再套接上其他功能較強(qiáng)大的輸入、輸出流完成文件的讀寫(xiě)操作。為了能更方便地從文件中讀寫(xiě)不同類型的數(shù)據(jù),一般都采用第二種方式,即以fileinputstream和fileoutputstream
25、為數(shù)據(jù)源完成與磁盤(pán)文件的映射連接后,再創(chuàng)建其他流類的對(duì)象從fileinputstream和fileoutputstream對(duì)象中讀寫(xiě)數(shù)據(jù)。一般較常用的是過(guò)濾流的兩個(gè)子類datainputstream和dataoutputstream,甚至還可以進(jìn)一步簡(jiǎn)化為如下寫(xiě)法:fi1e myfi1e= new file (mytextfile );datainputstream din =new datainputstream(new fileinputstream (myeile);dataoutputstream dour=new dataoutputstream(new fileoutputstre
26、am(myfi1e);10.2.3 隨機(jī)存取文件隨機(jī)存取文件fileinputstream和fileoutputstream實(shí)現(xiàn)的是對(duì)磁盤(pán)文件的順序讀寫(xiě),而且讀和寫(xiě)要分別創(chuàng)建不同的對(duì)象。相比之下,java中還定義了另一個(gè)功能更強(qiáng)大,使用更方便的類randomaccessfile,它可以實(shí)現(xiàn)對(duì)文件的隨機(jī)讀寫(xiě)操作。1 1創(chuàng)建創(chuàng)建randomaccessfilerandomaccessfile對(duì)象對(duì)象randomaccessfile類有兩個(gè)構(gòu)造方法:randomaccessfile(string name, string mode);randomaccessfile(file f, string m
27、ode);無(wú)論使用哪個(gè)創(chuàng)建randomaccessfile對(duì)象,都要求提供兩種信息:一個(gè)作為數(shù)據(jù)源的文件,以文件名字符串或文件對(duì)象的方式表述;另一個(gè)是訪問(wèn)模式字符串,它規(guī)定了randomaccessfile對(duì)象可以用何種方式打開(kāi)和訪問(wèn)指定的文件。10.2.3 隨機(jī)存取文件隨機(jī)存取文件訪問(wèn)模式字符串mode有兩種取值:“r”代表了以只讀方式打開(kāi)文件;“rw”代表以讀寫(xiě)方式打開(kāi)文件,這時(shí)用一個(gè)對(duì)象就可以同時(shí)實(shí)現(xiàn)讀寫(xiě)兩種操作。創(chuàng)建randomaccessfile對(duì)象時(shí),可能產(chǎn)生兩種異常:當(dāng)指定的文件不存在時(shí),系統(tǒng)將拋出filenotfoundexception;若試圖用讀寫(xiě)方式打開(kāi)只讀屬性的文件或出現(xiàn)了其他輸入、輸出錯(cuò)誤,則會(huì)拋出ioexception異常。下面是創(chuàng)建randomaccessfile對(duì)象例子:file file1=new file (file1.txt );randomaccessfile myra=new randomaccessfile (file1, rw );10.2.3 隨機(jī)存取文件隨機(jī)存取文件2 2對(duì)文件位置指針的操作對(duì)文件位置指針的操作randomaccessfile實(shí)現(xiàn)的是隨機(jī)讀寫(xiě),即可以在文件的任意位置執(zhí)行數(shù)據(jù)讀寫(xiě),而不一定要從前向后操作。要實(shí)現(xiàn)這樣的功能,必須定義文件位置指針和移動(dòng)這個(gè)指針的方法。randomaccessfile對(duì)象的文件位置指針遵
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)場(chǎng)布置合同范本
- 鄉(xiāng)鎮(zhèn)商品房出租合同范本
- pe管材及管件購(gòu)銷合同范本
- 協(xié)議離婚陰陽(yáng)合同范本
- 酒店投資合作合同范本
- 燒豬店鋪轉(zhuǎn)讓合同范本
- 櫥柜衣柜制作及其安裝合同范本
- 國(guó)際采購(gòu)合同范本
- 合法用工合同范本
- 教育機(jī)構(gòu)培訓(xùn)合同范本
- 職業(yè)健康安全交底
- GB∕T 28610-2020 甲基乙烯基硅橡膠
- GB∕T 7588.1-2020 電梯制造與安裝安全規(guī)范 第1部分:乘客電梯和載貨電梯
- 4.昆蟲(chóng)備忘錄 課件(共15張PPT)
- DB37∕T 5191-2021 高延性混凝土加固技術(shù)規(guī)程
- 2022年全省公訴業(yè)務(wù)知識(shí)考試參考答案
- 田字格(綠色標(biāo)準(zhǔn))
- 鎮(zhèn)政府(街道辦事處)辦公大樓平面圖
- 軟壓光機(jī)計(jì)算說(shuō)明
- 森林防火安全責(zé)任書(shū)(施工隊(duì)用)
- 水庫(kù)應(yīng)急搶險(xiǎn)與典型案例分析
評(píng)論
0/150
提交評(píng)論