JAVA課件第九章_第1頁
JAVA課件第九章_第2頁
JAVA課件第九章_第3頁
JAVA課件第九章_第4頁
JAVA課件第九章_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、一、流(stream):1、實(shí)際上指在計(jì)算機(jī)的輸入與輸出之間運(yùn)動(dòng)的數(shù)據(jù)的序列,把不同的輸入、輸出源抽象表述成”流” 。 2、兩種基本流輸入流:只能從中讀取數(shù)據(jù)輸出流:只能向其寫入數(shù)據(jù)3、java.io定義了多個(gè)類,處理不同性質(zhì)的輸入輸出流二、字節(jié)流與字符流字節(jié)流字符流輸入輸出單位InputStreamOutputStreamReaderWriterbytechar這四個(gè)類都是抽象類1、InputStream類public int read();/逐字節(jié)地以二進(jìn)制的原始方式讀取數(shù)據(jù);public int read(byte b);public int read(byte b,int off,in

2、t len);public long skip(long n);public int available();public void close();2、OutputStream類public int write(int b);public int write(byte b);public int write(byte b,int off,int len);public void flush();(用于緩沖式輸出流)public void close();3、Reader類public int read();public int read(char b);public int read(cha

3、r b,int off,int len);public long skip(long n);public int available();public void close();4、 Writer類public int write(int b);public int write(char b);public int write(char b,int off,int len);public int write(String s);public int write(String s ,int off,int len);public void flush();public void close();

4、二、節(jié)點(diǎn)流與處理流 1、Node Stream:可以或一個(gè)特定的地方(磁盤、內(nèi)存、設(shè)備等)讀寫數(shù)據(jù)如:FileReader 2、Processing Stream:對(duì)一個(gè)已存在的流的連接和封裝,通過封裝的流的功能實(shí)現(xiàn)數(shù)據(jù)讀、寫功能。目的:通過處理流后,可以提供更方便的操作(方法更好用)。 處理流的構(gòu)造方法總要帶一個(gè)其它的流對(duì)象作為參數(shù)。BufferedReader in=new BufferedReader(new FileReader(file)BufferedReader in2=new BufferedReader( new (InputStreamReader( new FileInp

5、utStream(file);3、流的鏈接、一個(gè)流經(jīng)過其他流的多次包裝FileInputStreamBufferedInputStreamDataInputStreamDataOutputStreamBufferedOutputStreamFileOutputStream常用的節(jié)點(diǎn)流File、Array、String、PipeP212,表9-2常用的處理流過濾,緩沖,數(shù)據(jù)類型轉(zhuǎn)換 流轉(zhuǎn)換P212,表9-3InputStreamFileInputStreamObjectInputStreamFilterInputStreamPipedInputStreamSequenceInputStreamB

6、yteArrayInputStreamBufferedInputStreamDataInputStreamLineNumberInpuStreamPushbackInputStreamStringBufferInputStreamOutputStreamFilterOutputStreamBufferedOutputStreamObjectOutputStreamDataOutputStreamPrintStreamPipedOutputStreamByteArrayOutputStreamFileOutputStreamReaderBufferedReaderFilterReaderInpu

7、tStreamReaderLineNumberReaderStringReaderPipedReaderPushBackReaderCharArrayReaderFileReaderWriterCharArrayWriterBufferedWriterFilterWriterPipedWriterOutputStreamWriterFileWriterStringWriterPrintWriter4、注意: InputStream、OutputStream是抽象類使用他們的子類完成各項(xiàng)任務(wù)過濾輸入輸出流(在輸入輸出數(shù)據(jù)的同時(shí)能對(duì)所傳輸?shù)臄?shù)據(jù)做指定類型或格式的轉(zhuǎn)換,即可實(shí)現(xiàn)對(duì)二進(jìn)制字節(jié)數(shù)據(jù)的理解

8、和編碼轉(zhuǎn)換。)DataInputStream,DataOutputStream(實(shí)現(xiàn)了對(duì)不同數(shù)據(jù)類型的讀寫。)文件輸入輸出流(主要負(fù)責(zé)完成對(duì)本地磁盤文件的順序讀寫操作。) FileInputStream, FileOutputStream管道輸入輸出流(負(fù)責(zé)實(shí)現(xiàn)程序內(nèi)部的線程間通信或不同程序間的通信。)PipedInputStream, PipedOutputStream字節(jié)數(shù)組輸入輸出流(實(shí)現(xiàn)與內(nèi)存緩沖區(qū)的同步讀寫。) ByteArrayInputStream, ByteArrayOutputStream 順序輸入輸出流(可以把兩個(gè)其他的輸入流首尾相接,合并成一個(gè)完整的輸入流。) Seque

9、nceInputSteamReader和Writer類是抽象類使用他們的子類完成各項(xiàng)任務(wù)以字符為單位輸入輸出方便、簡單InputStreamReader、 OutputStreamWriter能將字節(jié)流轉(zhuǎn)為字符流三、標(biāo)準(zhǔn)輸入輸出輸入設(shè)備:鍵盤輸出設(shè)備:顯示器在Java中利用System對(duì)象實(shí)現(xiàn)System.inSystem.out1、標(biāo)準(zhǔn)輸入: System.in輸入源通常為鍵盤。System.in.read() 實(shí)現(xiàn)對(duì)鍵盤的讀取必須包含在trycatch(IOException e)System.in,是InputStream類的對(duì)象 BufferedReader br=new Buffer

10、edReader(new InputStreamReader(System.in) br.readLine();阻塞式讀。2、標(biāo)準(zhǔn)輸出 System.out輸出源通常為顯示器System.out,是PrintStream類的對(duì)象println()方法,多種形式print()方法例,P215:9-1(FilecopyByChar), 9-2(FileCopyByLine), 9-3(CopyfileAddLineNumber)一、文件及目錄管理1、java.io.File,不是輸入、輸出流的子類2、可以方便的與磁盤文件建立連接3、創(chuàng)建File類對(duì)象File(String path)File(St

11、ring path, String name)File(File dir,String name)4、獲取文件或目錄屬性5、文件或目錄操作 關(guān)于文件/目錄名操作 String getName() String getPath() String getAbsolutePath() String getParent() boolean renameTo(File newName) File 測試操作 boolean exists() boolean canWrite() boolean canRead() boolean isFile() boolean isDirectory() boolean

12、 isAbsolute(); 獲取常規(guī)文件信息操作 long lastModified() long length() boolean delete() 目錄操作 boolean mkdir() String list()例:9-4 (ListAllFiles),P219改進(jìn)例改進(jìn)例9-4:二、文件輸入與輸出流1、磁盤文件讀取、寫入數(shù)據(jù)2、FileInputStream,F(xiàn)ileOutputStream3、操作磁盤文件數(shù)據(jù)的步驟利用文件名或File對(duì)象創(chuàng)建輸入輸出對(duì)象。FileInputStream(String FileName);FileInputStream(File f);從文件輸入輸

13、出流中讀寫數(shù)據(jù)。文件輸入: 可使用FileReader類以字符為單位從文件中讀入數(shù)據(jù); 可使用BufferedReader類的readLine方法以行為單位讀入一行字符。文件輸出: 可使用FileWriter類以字符為單位向文件中寫出數(shù)據(jù); 使用PrintWriter類的print和println方法以行為單位寫出數(shù)據(jù)。RandomAccessFile類可以實(shí)現(xiàn)對(duì)文件的隨機(jī)讀寫創(chuàng)建對(duì)象RandomAccessFile(String name, String mode);RandomAccessFile(File f, String mode);1、作為 數(shù)據(jù)源的文件,以文件名字符串或文件對(duì)象的

14、方式表述; 2、訪問模式字符串,規(guī)定了RandomAccessFile對(duì)象可以用何種方式打開和訪問指定的文件?!皉”和“rw”要實(shí)現(xiàn)對(duì)文件的任意位置執(zhí)行數(shù)據(jù)讀寫,必須定義文件位置指針和移動(dòng)這個(gè)指針的方法。 1、新建對(duì)象的文件位置指針位于文件的開頭處; 2、每次讀寫操作之后,文件位置指針都相應(yīng)后移讀寫的字節(jié)數(shù); 3、獲取當(dāng)前文件位置指針從文件頭算起的絕對(duì)位置; public long getPointer(); 4、移動(dòng)文件位置指針;Seek(long pos); 5、length()方法將返回文件的字節(jié)長度; 讀操作:readXXXreadBealoon(),readChar(),readInt(),readLong(),readFloat(),readDouble(),readLine(),readUTF()等 寫操作:writeXXXwriteBealoon(),writeChar(),writeInt(),writeLong(),writeFloat(),writeDouble(),writeLine(),writeUTF()等一、Java Application命令行參數(shù) 使用格式Java 類名 參數(shù) 參數(shù) 命令行參數(shù)通過String數(shù)組傳遞給應(yīng)用程序的main方法

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論