01授課輸入和輸出處理_第1頁
01授課輸入和輸出處理_第2頁
01授課輸入和輸出處理_第3頁
01授課輸入和輸出處理_第4頁
01授課輸入和輸出處理_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、第一單元 Java高級技術(shù)輸入和輸出處理顧與作業(yè)點評如下代碼運行結(jié)果是什么?String s1=new String( bdqn );String s2=s1;String s3= bdqn ; System.out.prln(s1=s2); System.out.prln(s1=s3); System.out.prln(s1.equals(s2); System.out.prln(s1.equals(s3);回本課任務(wù)任務(wù)1:實現(xiàn)查看文件屬性、創(chuàng)建和刪除文件任務(wù)2:文件任務(wù)3:按模板文件格式任務(wù)4:任務(wù)5:序列化和反序列化對象信息寵物信息本課目標(biāo)學(xué)完本次課程后,你能夠:了解輸入輸出的概念使用

2、File類操作文件或目錄了解流的概念及分類會使用字節(jié)流讀寫文本文件會使用字符流讀寫文本文件會使用字節(jié)流讀寫二進制文件使用序列化和反序列化保持和恢復(fù)對象信息JavaI/O程序文件內(nèi)存 控制臺文件內(nèi)存鍵盤文件3-1文件?或放在一起的數(shù)據(jù)的集合相關(guān)文件一般在哪里?Java程序如何文件屬性?JAVA API:java.io.File類文件3-2File類文件屬性c:test .txt或c:/test .txt通過文件對象的方法操作文件或目錄的屬性(路徑、權(quán)限、日期和時間等 )創(chuàng)建文件對象物理文件或目錄File file = new File(String pathname )File 類文件3-3Fi

3、le類的常用方法演示示例:使用File類操作文件或目錄屬性方法名稱說明exists( )判斷文件或目錄是否存在isFile( )判斷是否是文件isDirectory( )判斷是否是目錄String getPath( )返回此對象表示的文件的相對路徑名String getAbsolutePath( )返回此對象表示的文件的絕對路徑名String getName( )返回此對象表示的文件或目錄的名稱delete( )刪除此對象指定的文件或目錄createNewFile( )創(chuàng)建名稱的空文件,不創(chuàng)建文件夾long length()返回文件的長度,為字節(jié), 如果文件不存在,則返回 0L課堂練習(xí)需求說明

4、實現(xiàn)查看文件屬性、創(chuàng)建和刪除文件完成時間:15分鐘共性問題集中講解流3-1問題如何讀寫文件?分析通過流來讀寫文件流是一組有序的數(shù)據(jù)序列以先進先出方式發(fā)送信息的通道流向目的地的數(shù)據(jù)流FEDCBAOutputStreamInputStream流3-2輸入/輸出流與數(shù)據(jù)源流3-3Java流的分類輸入輸出流是相對于計算機內(nèi)存來說的字節(jié)流是 8 位通用字節(jié)流,字符流是 16 位 Unicode 字符流FileInputStreamInputStream類常用方法read( )read(byte b)read(byteb,off,len)void close( )available():可以從輸入流中的字

5、節(jié)數(shù)目子類FileInputStream常用的構(gòu)造方法FileInputStream(File file)FileInputStream(String name)使用FileInputStream讀文本文件實現(xiàn)步驟演示示例:使用FileInputStream類文本文件fis.close();fis.available(); fis.read();FileInputStream fis= new FileInputStream(c:test.txt);import java.io.IOException; import java.io.FileInputStream;FileOutputStre

6、amOutputStream類常用方法voidvoidvoidvoidvoidwrite(c)write(byte buf)write(byte b, close()off,len)flush():強制把緩沖區(qū)的數(shù)據(jù)寫到輸出流中子類FileOutputStream常用的構(gòu)造方法FileOutputStream (File file)FileOutputStream(String name)FileOutputStream(String name,append)注意1、前兩種構(gòu)造方法在向文件寫數(shù)據(jù)時將覆蓋文件中原有的內(nèi)容 2、創(chuàng)建FileOutputStream實例時,如果相應(yīng)的文件并不存在,則

7、會自動創(chuàng)建一個空的文件使用FileOutputStream寫文本文件使用FileOutputStream寫文本文件的步驟與讀文件的步驟有何不同?String str =好好學(xué)習(xí)Java;byte words = str.getBytes(); fos.write(words, 0, words.length);把數(shù)據(jù)寫入文本文件演示示例:使用FileOutputStream類向文本文件寫數(shù)據(jù)fos.close();FileOutputStream fos = new FileOutputStream(text.txt);import java.io.IOException; import ja

8、va.io.FileOutputStream;課堂練習(xí)需求說明文件“青春誰做主.txt”位于D盤根目錄下,要求將此文件的內(nèi)容到C:myFilemyPrime.txt中完成時間:15分鐘共性問題集中講解常見錯誤/ 1、創(chuàng)建輸入流對象,負責(zé)青春誰做主.txt文件D:青春誰做主.txt);FileInputStream fis = new FileInputStream(D:/2、創(chuàng)建輸出流對象,負責(zé)將文件內(nèi)容寫入到C:myFilemy Prime.txt中FileOutputStream fos = newFileOutputStream(C:myFilemyPrime.txt,true);/ 3

9、、創(chuàng)建中轉(zhuǎn)站數(shù)組,存放每次byte words = new byte1024;/ 4、通過循環(huán)實現(xiàn)文件讀寫while(fis.read()!=-1)的內(nèi)容文件fis.read(words);/寫入文件fos.write(words, 0, words.length);Reader類Reader類常用方法read( )read(char c)read(char c,void close( )子類InputStreamReader常用的構(gòu)造方法InputStreamReader(InputStream in)InputStreamReader(InputStream in,String chars

10、etName)off,len)FileReader類FileReader類是InputStreamReader的子類FileReader(File file)FileReader(String name)該類只能按照本地的字符編碼來數(shù)據(jù),用戶不能指定其他的字符編碼類型System.out.prln(System.getProperty(file.encoding);獲得本地的字符編碼類型使用FileReader文件與字節(jié)流FileInputStream類實現(xiàn)文本文件步驟類似引入相關(guān)的類import java.io.Reader;import java.io.FileReader;Import

11、java.io.IOExceprion;創(chuàng)建FileReader對象Reader fr= new FileReader(D:myDoc簡介.txt);文本文件的數(shù)據(jù)fr.read();關(guān)閉相關(guān)的流對象fr.close();演示示例:使用FileReader文本文件BufferedReader類問題如何提高字符流文本文件的效率?使用FileReader類與BufferedReader類BufferedReader類是Reader類的子類BufferedReader類帶有緩沖區(qū)按行內(nèi)容的readLine()方法BufferedReader類BufferedReader常用的構(gòu)造方法Buffered

12、Reader(Reader in)子類BufferedReader特有的方法readLine()使用BufferedReader讀文本文件實現(xiàn)步驟import java.io.FileReader;import java.io.BufferedReader; import java.io.IOException;演示示例:使用BufferedReader和FileReader文本文件br.close();fr.close();br.readLine();Reader fr=new FileReader(C:myTest.txt ); BufferedReader br=new Buffered

13、Reader(fr);課堂練習(xí)需求說明模板文件C:pet.template的內(nèi)容,將其在控制臺輸出完成時間:10分鐘共性問題集中講解Writer類Writer類常用方法write(String str)write(String str,void close()void flush()off,len)子類OutputStreamWriter常用的構(gòu)造方法OutputStreamWriter(OutputStreamOutputStreamWriter(OutputStream out,String charsetName)out)FileWriter類FileWriter類是OutputStre

14、amWriter的子類FileWriter (File file)FileWriter (String name)該類只能按照本地的字符編碼來寫數(shù)據(jù),用戶不能指定其他的字符編碼類型使用FileWriter寫文件與字節(jié)流FileOutputStream類實現(xiàn)向文本文件寫入數(shù)據(jù)步驟類似引入相關(guān)的類import java.io.Reader;import java.io.FileWriter;Import java.io.IOException;創(chuàng)建FileReader對象Writer fw= new FileWriter(D:myDoc簡介.txt);寫文本文件fw.write();關(guān)閉相關(guān)的流對

15、象fw.close();演示示例:使用FileWriter類向文本文件寫數(shù)據(jù)BufferedWriter類問題如何提高字符流寫文本文件的效率?使用FileWriter類與BufferedWriter類BufferedWriter類是Writer類的子類BufferedWriter類帶有緩沖區(qū)BufferedWriter常用的構(gòu)造方法BufferedWriter(Writer out)使用BufferedWriter寫文件實現(xiàn)步驟import java.io.FileWriter ;import java.io.BufferedWriter ; import java.io.IOExceptio

16、n;演示示例:使用BufferedWriter和FileWriter類寫文本文件bw.flush();fw.close();bw.write(o);FileWriter fw=newFileWriter(C:myTest.txt);BufferedWriter bw=new BufferedWriter(fw);課堂練習(xí)需求說明按照剛才的模板文件C:pet. template的模板格式保存寵物數(shù)據(jù)到文本文件,即把name、type、master替換為具體的寵物信息,將替換后的內(nèi)容寫入到C:myDocpet.txt中完成時間:10分鐘共性問題集中講解解決時中文亂碼問題包含中文的文本文件時,可能出

17、現(xiàn)中文亂碼,怎么辦?FileReader fr = new FileReader(c:myDocBufferedReader br=new BufferedReader(fr);o.txt);FileInputStream fis=new FileInputStream(c:myDoc/使用InputStreamReader并設(shè)置編碼格式o.txt);InputStreamReader fr=new InputStreamReader(fis,UTF-8);BufferedReader br=new BufferedReader(fr);演示示例:解決中文亂碼讀寫二進制文件DataInputS

18、tream類FileInputStream的子類與FileInputStream類結(jié)合使用DataOutputStream類FileOutputStream的子類二進制文件與FileOutputStream類結(jié)合使用寫二進制文件使用DataInputStream讀二進制文件實現(xiàn)步驟import java.io.FileInputStream;import java.io.DataInputStream;dis.read ();與字節(jié)流FileInputStream類實現(xiàn)文本文件步驟極其相似dis.close();FileInputStream fis=newFileInputStream(C:oWorld.class); DataInputStream dis=new DataInputStream(fis);使用DataOutputStream寫二進制文件實現(xiàn)步驟FileOutputStream outFile=newFileOutputStream(C:temp.class);DataOutputStream out=newDataOutputStream(outFile);out.write();olose();與字節(jié)流FileOutputStream類實現(xiàn)文本文件讀取步驟極其

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論