




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、,Java程序設(shè)計(jì)任務(wù)驅(qū)動(dòng)式教程,主編:孫修東、王永紅 高職高專規(guī)劃示范教材,北京航空航天大學(xué)出版社,215,目錄,任務(wù)一 搭建環(huán)境(構(gòu)建Java集成開發(fā)環(huán)境),任務(wù)二 Java歡迎你(開發(fā)簡單Java應(yīng)用程序,任務(wù)三 小試牛刀(學(xué)習(xí)Java語言基礎(chǔ)),任務(wù)四 挑戰(zhàn)選擇(使用分支控制流程),任務(wù)五 游戲人生(使用循環(huán)控制流程),任務(wù)六 回歸自然(創(chuàng)建、使用類和對象),任務(wù)七 3G時(shí)代的消息傳遞(定義和使用類方法),任務(wù)八 保護(hù)你的隱私(封裝的使用),任務(wù)九 子承父業(yè)(繼承和多態(tài)的使用),任務(wù)十 上帝萬能之手(接口的使用),315,任務(wù)十一 用數(shù)組存儲(chǔ)信息(使用數(shù)組),任務(wù)十二 使用字符串進(jìn)行交
2、流(使用字符串),任務(wù)十三 防患于未然(捕獲并處理異常),任務(wù)十四 主動(dòng)出擊(拋出異常),任務(wù)十五 認(rèn)識(shí)Java Applet(Applet入門),任務(wù)十六 豐富多彩的Applet(在Applet中播放聲音和顯示圖像),任務(wù)十七 進(jìn)入Windows世界(設(shè)計(jì)圖形用戶界面),任務(wù)十八 布局規(guī)劃(使用布局管理器),任務(wù)十九 事件委托處理(如何處理事件),任務(wù)二十 選擇之道(使用選擇控件和選擇事件),目錄,415,任務(wù)二十一 簡明清晰的菜單(使用菜單和其他常用事件),任務(wù)二十二 訪問數(shù)據(jù)(使用JDBC連接數(shù)據(jù)庫),任務(wù)二十三 訪問數(shù)據(jù)升級(jí)(數(shù)據(jù)庫編程),任務(wù)二十四 文件管理(目錄與文件管理),任務(wù)二
3、十五 順序進(jìn)出之道(文件的順序訪問),任務(wù)二十六 隨機(jī)進(jìn)出之道(文件的隨機(jī)訪問),任務(wù)二十七 JAVA的分身術(shù)(創(chuàng)建和啟動(dòng)線程),任務(wù)二十八 線程的生命周期與優(yōu)先級(jí)(線程的狀態(tài)與調(diào)度),任務(wù)二十九 基于連接的通信(Java中的套接字Socket),任務(wù)三十 基于無連接的通信(Java中的數(shù)據(jù)報(bào)編程),目錄,515,任務(wù)二十六 隨機(jī)進(jìn)出之道(文件的隨機(jī)訪問),2,1,知識(shí)目標(biāo),能力目標(biāo),隨機(jī)文本文件;RandomAccessFile文件;文件的追加。,掌握隨機(jī)訪問的方式;掌握隨機(jī)讀取的方式。,615,內(nèi)容提要,4,跟我做:創(chuàng)建文件,1,2,3,5,實(shí)現(xiàn)方案,代碼分析,必備知識(shí),動(dòng)手做一做,715
4、,26.1 跟我做:創(chuàng)建文件,任務(wù)情景 編寫一個(gè)程序RandomIODemo,該程序創(chuàng)建一個(gè)隨機(jī)文件,并向其中寫入數(shù)值,隨后修改其中某個(gè)輸出的值。 運(yùn)行結(jié)果,第1章目錄,815,26.2 實(shí)現(xiàn)方案,在這個(gè)程序中,使用了RandomAccessFile這個(gè)類,并且使用的是“rw”的文件訪問權(quán)限。 RandomAccessFile類有如下4個(gè)用來控制文件訪問權(quán)限的選項(xiàng): “r”只讀,如果試圖進(jìn)行寫操作將引發(fā)異常IOException。 “rw”可讀可寫,如果文件不存在將會(huì)先創(chuàng)建該文件。 “rws”文件可讀可寫,并且要求每次更改文件內(nèi)容或元數(shù)據(jù)(Metadata)時(shí)將更改的內(nèi)容同步寫到存儲(chǔ)設(shè)備中。
5、“rwd”文件可讀可寫,并且要求每次更改文件內(nèi)容時(shí)將更改的內(nèi)容同步寫到存儲(chǔ)設(shè)備中。 根據(jù)以上四類權(quán)限的情況,我們選擇相應(yīng)的訪問權(quán)限。例如到最后輸出時(shí),我們只需要以只讀形式打開文件即可,而在前面因?yàn)橐蚱渲袑懭霐?shù)據(jù),所以要開放讀寫權(quán)限。 另外,RandomAccessFile類的seek方法可以讓我們很方便地在一個(gè)文件的選定位置讀寫相關(guān)的內(nèi)容。我們在此處使用seek方法定位到要修改的位置,然后使用writeDouble(33.333)方法修改了該處的數(shù)值。,第1章目錄,915,程序代碼 import java.io.*; public class RandomIODemo public stat
6、ic void main(String args)throws IOException RandomAccessFile rf=new RandomAccessFile(rtest.dat,rw);/創(chuàng)建一個(gè)隨機(jī)文件,開放讀寫權(quán)限 for(int i=0;i8;i+) /往其中寫8個(gè)double型數(shù)值 rf.writeDouble(i*3.14); rf.close();/關(guān)閉文件 rf=new RandomAccessFile(rtest.dat,rw); /使用時(shí)打開文件,并開放讀寫權(quán)限 /定位到文件第40個(gè)字節(jié)之后,一個(gè)double數(shù)值占8個(gè)字節(jié) rf.seek(5*8); rf.wri
7、teDouble(33.333); /并修改其內(nèi)容 rf.close();/關(guān)閉文件 rf=new RandomAccessFile(rtest.dat,r); /以只讀形式打開文件 for(int i=0;i8;i+) /以相同的格式輸出文件內(nèi)容 System.out.print(rf.readDouble()+t); rf.close();/關(guān)閉文件 ,26.3 代碼分析,1015,應(yīng)用擴(kuò)展 使用seek方法可以定位到任意的位置。我們也可以將一條固定長度的記錄寫入到隨機(jī)讀取文件中或者寫入到輸出流的指定位置;還可以從輸入流隨機(jī)讀入一條記錄,或者讀入指定位置的記錄。參考方法分別如下: / 將一
8、條固定長度的記錄寫入到隨機(jī)讀取文件中, 假設(shè)為一個(gè)人的記錄 private void writeData(RandomAccessFile out) throws IOException FixStringIO.writeFixString(name,NAME_LENGTH,out); out.writeInt(age); out.writeDouble(salary); FixStringIO.writeFixString(married,MARRIED_LENGTH,out); /將一條固定長度的記錄隨機(jī)寫入到輸出流的指定位置 public void writeData(RandomAcc
9、essFile out,int n)throws IOException out.seek(n-1)*RECORD_LENGTH); writeData(out); /從輸入流隨機(jī)讀入一條記錄,假設(shè)為一個(gè)人的記錄 private void readData(RandomAccessFile in)throws IOException name=FixStringIO.readFixString(NAME_LENGTH,in); age=in.readInt( ); salary=in.readDouble( ); married=FixStringIO.readFixString(MARRIE
10、D_LENGTH,in); /從輸入流隨機(jī)讀入指定位置的記錄 public void readData(RandomAccessFile in,int n)throwsIOException in.seek(n-1)*RECORD_LENGTH); readData(in); ,26.3 代碼分析,1115,26.4 必備知識(shí),26.4.1 RandomAccessFile類 Java語言提供了一個(gè)RandomAccessFile類來處理對一部分文件的輸入輸出。RandomAccessFile類創(chuàng)建的流與前面的輸入、輸出流不同,它既不是輸入流類InputStream類的子類,也不是輸出流類Ou
11、tputStream類的子類,但是RandomAccessFile類創(chuàng)建的流的指向既可以作為源也可以作為目的地。換句話說,當(dāng)我們想對一個(gè)文件進(jìn)行讀寫操作時(shí),可以創(chuàng)建一個(gè)指向該文件的RandomAccessFile流,這樣我們既可以從這個(gè)流中讀取文件的數(shù)據(jù),也可以通過這個(gè)流寫入數(shù)據(jù)到文件。 可以用如下兩種方法來打開一個(gè)隨機(jī)存取文件: 用文件名:myRAFile=new RandomAccessFile(String name ,String mode); 用文件對象:myRAFile=new RandomAccessFile(File file, String mode); mode參數(shù)決定了用
12、戶對這個(gè)文件的存取是只讀的還是讀寫的。,第1章目錄,1215,RandomAccessFile對象按照與數(shù)據(jù)輸入輸出對象相同的方式來讀寫信息。用戶可以訪問在DataInputStream和DataOutputStream中所有的read()和write()操作。 Java編程語言提供了若干種方法,用來幫助用戶在文件中移動(dòng)。以下只簡述其中3種方法。 long getFilePointer();/返回文件指針的當(dāng)前位置 void seek(long pos);/設(shè)置文件指針到給定的絕對位置。這個(gè)位置是按照從文件開始的字節(jié)偏移量給出的。一般以位置0標(biāo)志文件的開始。 long length();/返回
13、文件的長度。位置length()標(biāo)志文件的結(jié)束。,第1章目錄,26.4 必備知識(shí),1315,26.4 必備知識(shí),26.4.2 RandomAccessFile類的常用方法 RandomAccessFile類的常用方法如表26-1所示。,1415,26.4 必備知識(shí),1515,26.5 動(dòng)手做一做,一、實(shí)訓(xùn)目的 了解隨機(jī)文本訪問方式的含義;掌握隨機(jī)訪問文本的方法;掌握RandomAccessFile類的常用方法。 二、實(shí)訓(xùn)內(nèi)容 1.編寫一個(gè)程序,把幾個(gè)int型整數(shù)寫入到一個(gè)名字為tom.dat的文件中,然后按相反順序讀出這些數(shù)據(jù)。 2.編寫一個(gè)程序,實(shí)現(xiàn)向“e:zhang.txt”文件中追加一段文本。 三、簡要提示
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北電線電纜橋架施工方案
- 臨床護(hù)理不良事件案例分享
- 曲陽路面鵝卵石施工方案
- 上海日播至勝實(shí)業(yè)有限公司股權(quán)估值項(xiàng)目估值報(bào)告
- 北方古建筑屋頂施工方案
- 陜西節(jié)日彩燈設(shè)計(jì)施工方案
- 地面混凝土施工方案圖例
- 2025年乳味飲品項(xiàng)目發(fā)展計(jì)劃
- 公眾參與與環(huán)保意識(shí)的提升分析
- 低空經(jīng)濟(jì)公司技術(shù)開發(fā)與創(chuàng)新策略
- 2023年10月自考試題00840第二外語(日語)
- 農(nóng)產(chǎn)品市場營銷中的市場競爭分析
- 了解滑雪:滑雪器材與滑雪的技巧
- 也是冬天也是春天:升級(jí)彩插版
- 報(bào)價(jià)單模板完
- 【某醫(yī)療美容機(jī)構(gòu)營銷策略現(xiàn)狀、問題及優(yōu)化建議分析6300字】
- 關(guān)于tiktok的英語新聞
- 圖形的放大與縮小說課稿
- 技術(shù)核定單(示范文本)
- 關(guān)于外委單位工作情況的報(bào)告
- 吉林大學(xué)汽車設(shè)計(jì)期末考試復(fù)習(xí)資料高等教育
評論
0/150
提交評論