![單元任務(wù)二Java源程序行號添加程序設(shè)計_第1頁](http://file3.renrendoc.com/fileroot3/2021-11/20/e3d06463-cb96-429e-b3b1-fc1329639dbb/e3d06463-cb96-429e-b3b1-fc1329639dbb1.gif)
![單元任務(wù)二Java源程序行號添加程序設(shè)計_第2頁](http://file3.renrendoc.com/fileroot3/2021-11/20/e3d06463-cb96-429e-b3b1-fc1329639dbb/e3d06463-cb96-429e-b3b1-fc1329639dbb2.gif)
![單元任務(wù)二Java源程序行號添加程序設(shè)計_第3頁](http://file3.renrendoc.com/fileroot3/2021-11/20/e3d06463-cb96-429e-b3b1-fc1329639dbb/e3d06463-cb96-429e-b3b1-fc1329639dbb3.gif)
![單元任務(wù)二Java源程序行號添加程序設(shè)計_第4頁](http://file3.renrendoc.com/fileroot3/2021-11/20/e3d06463-cb96-429e-b3b1-fc1329639dbb/e3d06463-cb96-429e-b3b1-fc1329639dbb4.gif)
![單元任務(wù)二Java源程序行號添加程序設(shè)計_第5頁](http://file3.renrendoc.com/fileroot3/2021-11/20/e3d06463-cb96-429e-b3b1-fc1329639dbb/e3d06463-cb96-429e-b3b1-fc1329639dbb5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 Java Java 程序設(shè)計程序設(shè)計單元五:單元五:JavaJava語言高級程序設(shè)計語言高級程序設(shè)計 Java Java 程序設(shè)計程序設(shè)計 知識目標 掌握文件讀寫各種類型流的使用。 能力目標 能夠使用文件字節(jié)流常用類。 能夠使用文件字符流常用類。 Java Java 程序設(shè)計程序設(shè)計4任務(wù)陳述任務(wù)陳述123知識準備知識準備任務(wù)實施任務(wù)實施任務(wù)拓展任務(wù)拓展任務(wù)實訓任務(wù)實訓5 Java Java 程序設(shè)計程序設(shè)計任務(wù)描述:任務(wù)描述: Java源程序添加行號。編寫一個程序?qū)⒃次募泶鏋槠渌奈募?,并為每一行代碼在前面添加行號。 1. 任務(wù)陳述任務(wù)陳述 Java Java 程序設(shè)計程序設(shè)計 2. 知
2、識準備知識準備 File類不負責文件的讀寫。類不負責文件的讀寫。Java中文件讀寫是通中文件讀寫是通過流的形式完成的。過流的形式完成的。通過流能使我們能自由地控制通過流能使我們能自由地控制包括文件,內(nèi)存,包括文件,內(nèi)存,IO設(shè)備等等中的數(shù)據(jù)的流向。設(shè)備等等中的數(shù)據(jù)的流向。 如:可以從文件輸入流中獲取數(shù)據(jù),經(jīng)處理后再通過網(wǎng)絡(luò)輸如:可以從文件輸入流中獲取數(shù)據(jù),經(jīng)處理后再通過網(wǎng)絡(luò)輸出流把數(shù)據(jù)輸出到網(wǎng)絡(luò)設(shè)備上;或利用對像輸出流把一個程出流把數(shù)據(jù)輸出到網(wǎng)絡(luò)設(shè)備上;或利用對像輸出流把一個程序中的對象輸出到一個格式流文件中,并通過網(wǎng)絡(luò)流對象將序中的對象輸出到一個格式流文件中,并通過網(wǎng)絡(luò)流對象將其輸出到遠程機
3、器上,然后在遠程機器上利用對象輸入流將其輸出到遠程機器上,然后在遠程機器上利用對象輸入流將對象還原。對象還原。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備流的分類流的分類 流在流在JavaJava中是指計算機中流動的緩沖區(qū)。中是指計算機中流動的緩沖區(qū)。從外設(shè)從外設(shè)備流向中央處理器的數(shù)據(jù)流成為備流向中央處理器的數(shù)據(jù)流成為“輸入流輸入流”,反之,反之成為輸出流。成為輸出流。Java.ioJava.io包提供處理不同類型的流類,包提供處理不同類型的流類,有字節(jié)流、字符流、文件流和對象流等。其中,字有字節(jié)流、字符流、文件流和對象流等。其中,字節(jié)流類名以節(jié)流類名以StreamStrea
4、m結(jié)尾,字符流類名以結(jié)尾,字符流類名以ReaderReader或或WriterWriter結(jié)尾;按數(shù)據(jù)流動的方向分為輸入流(來源結(jié)尾;按數(shù)據(jù)流動的方向分為輸入流(來源流)和輸出流(接收流),輸入流類名以流)和輸出流(接收流),輸入流類名以InIn開始,開始,輸出流類名以輸出流類名以O(shè)utOut開始。開始。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備uInputStreamInputStream是抽象類,所有字是抽象類,所有字節(jié)輸入流類都直接或間接繼承此類。節(jié)輸入流類都直接或間接繼承此類。InputStreamInputStream類的常用方法包括:類的常用方法包括:uint
5、available() int available() 返回此輸入流返回此輸入流方法的下一個調(diào)用方可以不受阻塞方法的下一個調(diào)用方可以不受阻塞地從此輸入流讀取(或跳過)的字地從此輸入流讀?。ɑ蛱^)的字節(jié)數(shù)。節(jié)數(shù)。uvoid close() void close() 關(guān)閉此輸入流并關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。uabstract abstract int read() int read() 從輸入從輸入流讀取下一個數(shù)據(jù)字節(jié)。流讀取下一個數(shù)據(jù)字節(jié)。uint read(byteint read(byte b) b) 從輸入流從輸入流中讀取一定數(shù)量的字節(jié)并將
6、其存儲中讀取一定數(shù)量的字節(jié)并將其存儲在緩沖區(qū)數(shù)組在緩沖區(qū)數(shù)組 b b 中。中。5.6 字節(jié)流字節(jié)流InputStream和和OutputStream是字節(jié)流的兩個頂層父類,提供了輸入流類是字節(jié)流的兩個頂層父類,提供了輸入流類與輸出流類的通用與輸出流類的通用API。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備 字節(jié)輸入流類很多,這里重點介紹字節(jié)輸入流類很多,這里重點介紹FileInputStreamFileInputStream、BufferedInputStreamBufferedInputStream和和DataInputStreamDataInputStream File
7、InputStreamFileInputStream:此類用于從本地文件系統(tǒng)中讀取文件內(nèi)容。構(gòu)造方法:構(gòu)造方法:uFileInputStream(File file):FileInputStream(File file):通過打開一個到實際文件的連通過打開一個到實際文件的連接來創(chuàng)建一個接來創(chuàng)建一個 FileInputStreamFileInputStream,該文件通過文件系統(tǒng)中的,該文件通過文件系統(tǒng)中的 File File 對象對象 file file 指定。指定。 uFileInputStream(String name):FileInputStream(String name):通過打開
8、一個到實際文件的通過打開一個到實際文件的連接來創(chuàng)建一個連接來創(chuàng)建一個 FileInputStreamFileInputStream,該文件通過文件系統(tǒng)中的路,該文件通過文件系統(tǒng)中的路徑名徑名 name name 指定。指定。常用方法:常用方法:uint int availableavailable()():返回下一次對此輸入流調(diào)用的方法可以不受返回下一次對此輸入流調(diào)用的方法可以不受阻塞地從此輸入流讀?。ɑ蛱^)的估計剩余字節(jié)數(shù)。阻塞地從此輸入流讀取(或跳過)的估計剩余字節(jié)數(shù)。 uvoid void close():close():關(guān)閉此文件輸入流并釋放與此流有關(guān)的所有系統(tǒng)關(guān)閉此文件輸入流并釋放
9、與此流有關(guān)的所有系統(tǒng)資源。資源。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備BufferedInputStream:此類本身帶有一個緩沖區(qū),在讀取數(shù):此類本身帶有一個緩沖區(qū),在讀取數(shù)據(jù)時,先放到緩沖區(qū)中,可以減少對數(shù)據(jù)源的訪問,提高運據(jù)時,先放到緩沖區(qū)中,可以減少對數(shù)據(jù)源的訪問,提高運行的效率。行的效率。構(gòu)造方法:構(gòu)造方法:vBufferedInputStream(InputStream in):創(chuàng)建一個創(chuàng)建一個 BufferedInputStream 并保存其參數(shù),即輸入流并保存其參數(shù),即輸入流 in,以便將來使用。,以便將來使用。 vBufferedInputStream
10、(InputStream in, int size):創(chuàng)建具有指定緩沖區(qū)大小創(chuàng)建具有指定緩沖區(qū)大小的的 BufferedInputStream 并保存其參數(shù),即輸入流并保存其參數(shù),即輸入流 in,以便將來使用。,以便將來使用。 常用方法:常用方法:vint available():返回可以從此輸入流讀?。ɑ蛱^)、且不受此輸入流接返回可以從此輸入流讀?。ɑ蛱^)、且不受此輸入流接下來的方法調(diào)用阻塞的估計字節(jié)數(shù)。下來的方法調(diào)用阻塞的估計字節(jié)數(shù)。 vvoid close():關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。關(guān)閉此輸入流并釋放與該流關(guān)聯(lián)的所有系統(tǒng)資源。 vint read():從輸入流中
11、讀取數(shù)據(jù)的下一個字節(jié)。從輸入流中讀取數(shù)據(jù)的下一個字節(jié)。 vint read(byte b, int off, int len):從此字節(jié)輸入流中給定偏移量處開始將從此字節(jié)輸入流中給定偏移量處開始將各字節(jié)讀取到指定的各字節(jié)讀取到指定的 byte 數(shù)組中。數(shù)組中。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備DataInputStream:此類提供一些基于多字節(jié)讀取方法,從而可:此類提供一些基于多字節(jié)讀取方法,從而可以讀取基本數(shù)據(jù)類型的數(shù)據(jù)。以讀取基本數(shù)據(jù)類型的數(shù)據(jù)。構(gòu)造方法:構(gòu)造方法:DataInputStream(InputStream in) :使用指定的底層使用指定的底層
12、InputStream 創(chuàng)建一個創(chuàng)建一個DataInputStream。常用方法:常用方法: int read(byte b) :從包含的輸入流中讀取一定數(shù)量的字節(jié),:從包含的輸入流中讀取一定數(shù)量的字節(jié),并將它們存儲到緩沖區(qū)數(shù)組并將它們存儲到緩沖區(qū)數(shù)組 b 中。中。 int read(byte b, int off, int len) :從包含的輸入流中將最多:從包含的輸入流中將最多 len 個字節(jié)讀入一個個字節(jié)讀入一個 byte 數(shù)組中。數(shù)組中。 【例【例5-6】通過文件讀寫實現(xiàn)文件復(fù)制。實現(xiàn)了從】通過文件讀寫實現(xiàn)文件復(fù)制。實現(xiàn)了從c:/temp.txt文文件讀取數(shù)據(jù),并寫入到件讀取數(shù)據(jù),并
13、寫入到c:/temp1.txt文件中去的功能。程序運行文件中去的功能。程序運行時文件時文件c:/temp.txt必須要先存在。必須要先存在。BufferedReaderExample.java Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備5.6.2 outputStream字節(jié)流字節(jié)流 OutputStream是抽象類,所有字節(jié)輸出流類都直接或間是抽象類,所有字節(jié)輸出流類都直接或間接繼承此類。接繼承此類。OutputStream的子類必須始終提供至少一種可的子類必須始終提供至少一種可寫入一個輸出字節(jié)的方法。寫入一個輸出字節(jié)的方法。 Java Java 程序設(shè)計程序設(shè)計 2. 知
14、識準備知識準備OutputStream的常用方法包括:的常用方法包括:uvoid close() 關(guān)閉此輸出流并釋放與此流有關(guān)的所關(guān)閉此輸出流并釋放與此流有關(guān)的所有系統(tǒng)資源。有系統(tǒng)資源。uvoid flush() 刷新此輸出流并強制寫出所有緩沖的刷新此輸出流并強制寫出所有緩沖的輸出字節(jié)。輸出字節(jié)。uvoid write(byte b) 將將 b.length 個字節(jié)從指定的字個字節(jié)從指定的字節(jié)數(shù)組寫入此輸出流。節(jié)數(shù)組寫入此輸出流。uvoid write(byte b, int off, int len) 將指定字節(jié)數(shù)將指定字節(jié)數(shù)組中從偏移量組中從偏移量 off 開始的開始的 len 個字節(jié)寫入
15、此輸出流。個字節(jié)寫入此輸出流。uabstract void write(int b) 將指定的字節(jié)寫入此輸將指定的字節(jié)寫入此輸出流。出流。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備字節(jié)輸出流類很多,這里重點介紹如下字節(jié)輸出流類很多,這里重點介紹如下3種:種:uFileOutputStream:此類用于從本地文件系統(tǒng)的文件中寫入數(shù)據(jù)。:此類用于從本地文件系統(tǒng)的文件中寫入數(shù)據(jù)。構(gòu)造方法:構(gòu)造方法:uFileOutputStream(File file) :創(chuàng)建一個向指定:創(chuàng)建一個向指定 File 對象表示的文對象表示的文件中寫入數(shù)據(jù)的文件輸出流。件中寫入數(shù)據(jù)的文件輸出流。uFi
16、leOutputStream(String name) :創(chuàng)建一個向具有指定名稱的文:創(chuàng)建一個向具有指定名稱的文件中寫入數(shù)據(jù)的輸出文件流。件中寫入數(shù)據(jù)的輸出文件流。常用方法:常用方法:uvoid close():關(guān)閉此文件輸出流并釋放與此流有關(guān)的所有系統(tǒng)資源。關(guān)閉此文件輸出流并釋放與此流有關(guān)的所有系統(tǒng)資源。 uFileDescriptor getFD():返回與此流有關(guān)的文件描述符。返回與此流有關(guān)的文件描述符。 uvoid write(byte b):將將 b.length 個字節(jié)從指定個字節(jié)從指定 byte 數(shù)組寫入此文數(shù)組寫入此文件輸出流中。件輸出流中。 uvoid write(byte
17、b, int off, int len):將指定將指定 byte 數(shù)組中從偏移量數(shù)組中從偏移量 off 開始的開始的 len 個字節(jié)寫入此文件輸出流。個字節(jié)寫入此文件輸出流。 uvoid write(int b):將指定字節(jié)寫入此文件輸出流。將指定字節(jié)寫入此文件輸出流。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備 BufferedOutputStream:此類本身帶有一個緩沖區(qū),在:此類本身帶有一個緩沖區(qū),在寫取數(shù)據(jù)時,先放到緩沖區(qū)中,實現(xiàn)緩沖的數(shù)據(jù)流。寫取數(shù)據(jù)時,先放到緩沖區(qū)中,實現(xiàn)緩沖的數(shù)據(jù)流。構(gòu)造方法:構(gòu)造方法:uBufferedOutputStream(OutputS
18、tream out) :創(chuàng)建一個新的:創(chuàng)建一個新的緩沖輸出流,以將數(shù)據(jù)寫入指定的底層輸出流。緩沖輸出流,以將數(shù)據(jù)寫入指定的底層輸出流。 uBufferedOutputStream(OutputStream out, int size):創(chuàng)建:創(chuàng)建一個新的緩沖輸出流,以將具有指定緩沖區(qū)大小的數(shù)據(jù)寫入一個新的緩沖輸出流,以將具有指定緩沖區(qū)大小的數(shù)據(jù)寫入指定的底層輸出流。指定的底層輸出流。 常用方法:常用方法:uvoid flush():刷新此緩沖的輸出流。刷新此緩沖的輸出流。 uvoid write(byte b, int off, int len):將指定將指定 byte 數(shù)組中從偏數(shù)組中從偏移
19、量移量 off 開始的開始的 len 個字節(jié)寫入此緩沖的輸出流。個字節(jié)寫入此緩沖的輸出流。 uvoid write(int b):將指定的字節(jié)寫入此緩沖的輸出流。將指定的字節(jié)寫入此緩沖的輸出流。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備 DataOutputStream(OutputStream out) :創(chuàng)建一個新的:創(chuàng)建一個新的數(shù)據(jù)輸出流,將數(shù)據(jù)寫入指定基礎(chǔ)輸出流。數(shù)據(jù)輸出流,將數(shù)據(jù)寫入指定基礎(chǔ)輸出流。常用方法:常用方法:u void flush() :清空此數(shù)據(jù)輸出流。:清空此數(shù)據(jù)輸出流。 u int size() :返回計數(shù)器:返回計數(shù)器 written 的當前值
20、,即到目前為止寫的當前值,即到目前為止寫入此數(shù)據(jù)輸出流的字節(jié)數(shù)。入此數(shù)據(jù)輸出流的字節(jié)數(shù)。 u void write(byte b, int off, int len):將指定:將指定 byte 數(shù)組中從數(shù)組中從偏移量偏移量 off 開始的開始的 len 個字節(jié)寫入基礎(chǔ)輸出流。個字節(jié)寫入基礎(chǔ)輸出流。 u void write(int b):將指定字節(jié)(參數(shù):將指定字節(jié)(參數(shù) b 的八個低位)寫入的八個低位)寫入基礎(chǔ)輸出流。基礎(chǔ)輸出流。 【例例5-7】將用戶輸入保存到文件中。其功能是:從控制臺輸入將用戶輸入保存到文件中。其功能是:從控制臺輸入50個字節(jié)個字節(jié)的數(shù)據(jù),輸出到的數(shù)據(jù),輸出到C盤盤wri
21、te.txt文件中,讀取文件中,讀取write.txt文件中的內(nèi)容,輸出到文件中的內(nèi)容,輸出到調(diào)試窗口中。調(diào)試窗口中。ReadWriteFile.java Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備5.7 5.7 字符流字符流 ReaderReader和和WriterWriter是是java.iojava.io包中的兩個字符流類的頂層包中的兩個字符流類的頂層抽象父類,定義了在抽象父類,定義了在I/OI/O流中讀寫字符數(shù)據(jù)的通用流中讀寫字符數(shù)據(jù)的通用APIAPI。在。在JavaJava中字符采用是中字符采用是UnicodeUnicode字符編碼。常見字符輸入字符編碼。常見字符輸
22、入/ /輸出流輸出流是由是由ReaderReader和和WriterWriter抽象類派生出來的。處理數(shù)據(jù)時是以字抽象類派生出來的。處理數(shù)據(jù)時是以字符為基本單位的。符為基本單位的。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備 FileReader FileReader:用來讀取字符文件的便捷類。此類的構(gòu)造方法:用來讀取字符文件的便捷類。此類的構(gòu)造方法假定默認字符編碼和默認字節(jié)緩沖區(qū)大小都是適當?shù)摹<俣J字符編碼和默認字節(jié)緩沖區(qū)大小都是適當?shù)?。其?gòu)造方法有如下其構(gòu)造方法有如下2 2種:種:uFileReader(File file) FileReader(File file)
23、 :在給定從中讀取數(shù)據(jù)的:在給定從中讀取數(shù)據(jù)的 File File 的情的情況下創(chuàng)建一個新況下創(chuàng)建一個新 FileReaderFileReader。 uFileReader(String fileName) FileReader(String fileName) :在給定從中讀取數(shù)據(jù)的文件:在給定從中讀取數(shù)據(jù)的文件名的情況下創(chuàng)建一個新名的情況下創(chuàng)建一個新 FileReaderFileReader。 BufferedReaderBufferedReader類是類是ReaderReader類的子類,為類的子類,為Reader Reader 對象添加字符對象添加字符緩沖器,為數(shù)據(jù)輸入分配內(nèi)存存儲空間
24、,存取數(shù)據(jù)更為有效。緩沖器,為數(shù)據(jù)輸入分配內(nèi)存存儲空間,存取數(shù)據(jù)更為有效。其構(gòu)造方法有如下其構(gòu)造方法有如下2 2種:種:uBufferedReader(Reader in) BufferedReader(Reader in) :創(chuàng)建一個使用默認大小輸入緩:創(chuàng)建一個使用默認大小輸入緩沖區(qū)的緩沖字符輸入流。沖區(qū)的緩沖字符輸入流。 uBufferedReader(Reader in, int sz) BufferedReader(Reader in, int sz) : 創(chuàng)建一個使用指定創(chuàng)建一個使用指定大小輸入緩沖區(qū)的緩沖字符輸入流。大小輸入緩沖區(qū)的緩沖字符輸入流。 Java Java 程序設(shè)計程序
25、設(shè)計 2. 知識準備知識準備其操作方法有:其操作方法有:u void close():void close():關(guān)閉該流并釋放與之關(guān)聯(lián)的所有資源。關(guān)閉該流并釋放與之關(guān)聯(lián)的所有資源。 u void mark(int readAheadLimit):void mark(int readAheadLimit):標記流中的當前位置。標記流中的當前位置。 u boolean markSupported():boolean markSupported():判斷此流是否支持判斷此流是否支持 mark() mark() 操作(它一定支持)。操作(它一定支持)。 u i int read():nt read()
26、:讀取單個字符。讀取單個字符。 u int read(char cbuf, int off, int len):int read(char cbuf, int off, int len):將字符讀將字符讀入數(shù)組的某一部分。入數(shù)組的某一部分。 u String readLine():String readLine():讀取一個文本行。讀取一個文本行。 u boolean ready():boolean ready():判斷此流是否已準備好被讀取。判斷此流是否已準備好被讀取。 u void reset()void reset(): :將流重置到最新的標記。將流重置到最新的標記。 u long sk
27、ip(long n)long skip(long n): :跳過字符。跳過字符。 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備5.7.2 Writer類WriterWriter寫入字符類型寫入字符類型 Java Java 程序設(shè)計程序設(shè)計 2. 知識準備知識準備字符輸出流類很多,這里重點介紹字符輸出流類很多,這里重點介紹FileWriterFileWriter和和BufferedWriterBufferedWriter:FileWriterFileWriter:用來寫入字符文件的便捷類。:用來寫入字符文件的便捷類。FileWriter FileWriter 用于寫入字符流。要寫
28、入原始字用于寫入字符流。要寫入原始字節(jié)流。節(jié)流。其構(gòu)造方法有如下其構(gòu)造方法有如下2 2種:種:uFileWriter(File file):FileWriter(File file):根據(jù)給定的根據(jù)給定的 File File 對象構(gòu)造一個對象構(gòu)造一個 FileWriter FileWriter 對象。對象。uFileWriter(String fileName):FileWriter(String fileName):根據(jù)給定的根據(jù)給定的文件名構(gòu)造一個文件名構(gòu)造一個 FileWriter FileWriter 對象。對象。 Java Java 程序設(shè)計程序設(shè)計uBufferedWriter:將
29、文本寫入字符輸出流,緩沖各個字符,從而提供單個字符、數(shù)組和字符串的高效寫入??梢灾付ň彌_區(qū)的大小,或者接受默認的大小。在大多數(shù)情況下,默認值就足夠大了。除非要求提示輸出,否則建議用 BufferedWriter 包裝所有其 write() 操作可能開銷很高的 Writer。u【例5-8】帶緩沖的字符流使用示例。ReaderWriter.java Java Java 程序設(shè)計程序設(shè)計 3. 任務(wù)實施任務(wù)實施 使用使用BufferedReaderBufferedReader從文件中逐行讀入從文件中逐行讀入JavaJava源文件中的代源文件中的代碼,在每行代碼前加上行號后,使用碼,在每行代碼前加上行
30、號后,使用PrintWriterPrintWriter逐行將代碼逐行將代碼寫入新文件。寫入新文件。(1)(1)定義類定義類InsertLineNumberInsertLineNumber。(2)(2)編寫編寫openopen方法,將源代碼文件內(nèi)容讀入字符串方法,將源代碼文件內(nèi)容讀入字符串strFinalstrFinal對象對象中中。(3)(3)編寫編寫saveAssaveAs方法,從方法,從strFinalstrFinal對象中逐行讀出代碼,增加行對象中逐行讀出代碼,增加行號并寫入新文件中號并寫入新文件中。(4)(4)在在mainmain方法中創(chuàng)建方法中創(chuàng)建InsertLineNumberIn
31、sertLineNumber類對象,調(diào)用類對象,調(diào)用openopen、saveAssaveAs方法方法。 Java Java 程序設(shè)計程序設(shè)計public void open(String fileName)tryBufferedReader in = new BufferedReader(new FileReader(fileName);while(strTemp = in.readLine()!= null)strFinal = strFinal + strTemp + n;in.close();catch(IOException e)System.out.println(e); Java
32、 Java 程序設(shè)計程序設(shè)計public void saveAs(String fileName)tryBufferedReader in = new BufferedReader (new StringReader(strFinal);PrintWriter out = new PrintWriter (new BufferedWriter(new FileWriter(fileName);int lineCount = 1;while(strTemp = in.readLine()!= null)out.println(lineCount+ + : + strTemp);in.close(
33、);out.close();catch(IOException e) System.out.println(e); Java Java 程序設(shè)計程序設(shè)計public static void main(String args) throws IOExceptionInsertLineNumber obj = new InsertLineNumber();obj.open(E:/EclipseWorkspace/task1/src/com/task25/FileIO.java);obj.saveAs(d:FileIO.txt); Java Java 程序設(shè)計程序設(shè)計4. 任務(wù)拓展任務(wù)拓展對象流對象流ObjectInputStream和和ObjectOutputStream可可以將以將Java對象輸入、輸出,對象輸入、輸出,例如:將對象保存到文件例如:將對象保存到文件,實現(xiàn)對象數(shù)據(jù)的持久化。,實現(xiàn)對象數(shù)據(jù)的持久化。ObjectInputStream主要方法主要方法 Object readObject()負責讀入一個對象,讀入后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年鼠抗病毒抗原單克隆抗體項目提案報告模板
- 2025年雙邊貿(mào)易合作策劃購銷協(xié)議書
- 2025年企業(yè)搬遷安置協(xié)議樣本
- 2025年萃取設(shè)備項目提案報告模板
- 2025年金屬基耐磨復(fù)合材料項目規(guī)劃申請報告模稿
- 2025年企業(yè)調(diào)整策劃與和解合同
- 2025年度磚廠用地租賃合同
- 2025年企業(yè)績效管理改進協(xié)議
- 2025年交通事故責任補償合同樣本
- 2025年居家康復(fù)護理策劃協(xié)議標準文本
- 2024年湖南省公務(wù)員錄用考試《行測》真題及答案解析
- 火災(zāi)自動報警及其消防聯(lián)動系統(tǒng)技術(shù)規(guī)格書
- 設(shè)備管理人員安全培訓
- 分布式光伏培訓
- 山東省房屋市政工程安全監(jiān)督機構(gòu)人員業(yè)務(wù)能力考試題庫-上(單選題)
- 2024新版(北京版)三年級英語上冊單詞帶音標
- 財務(wù)審計服務(wù)方案投標文件(技術(shù)方案)
- 養(yǎng)老服務(wù)機構(gòu)復(fù)工復(fù)產(chǎn)實施方案復(fù)工復(fù)產(chǎn)安全生產(chǎn)方案
- 9《黃山奇石》教學設(shè)計-2024-2025學年統(tǒng)編版語文二年級上冊
- PP、PVC-風管制作安裝施工作業(yè)指導書
- 新型智慧水利項目數(shù)字孿生工程解決方案
評論
0/150
提交評論