輸入輸出課件_第1頁
輸入輸出課件_第2頁
輸入輸出課件_第3頁
輸入輸出課件_第4頁
輸入輸出課件_第5頁
已閱讀5頁,還剩78頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第11章 輸入/輸出本章要點了解Java中流的概念了解Java中輸入輸出流的分類掌握文件輸入輸出流的使用方法掌握帶緩存的輸入輸出流的使用了解ZIP壓縮輸入輸出流的應用第1頁,共83頁。第11章 輸入/輸出11.1 輸入/輸出流11.2 文件讀寫主要內容第2頁,共83頁。11.1 輸入/輸出流通常程序需要從外部獲取/輸出信息這個“外部”范圍很廣,包括諸如鍵盤、顯示器、文件、磁盤、網絡、另外一個程序等“信息”也可以是任何類型的,例如一個對象、字符串、圖像、聲音等通過使用java.io包中的輸入/輸出流類就可以達到輸入輸出信息的目的第3頁,共83頁。Java所有的I/O機制都是基于數(shù)據(jù)流進行輸入輸出

2、,這些數(shù)據(jù)流表示了字符或者字節(jié)數(shù)據(jù)的流動序列。Java的I/O流提供了讀寫數(shù)據(jù)的標準方法任何Java中表示數(shù)據(jù)源的對象都會提供以數(shù)據(jù)流的方式讀寫它的數(shù)據(jù)的方法。Java.io是大多數(shù)面向數(shù)據(jù)流的輸入/輸出類的主要軟件包。11.1 輸入/輸出流第4頁,共83頁。數(shù)據(jù)流是一串連續(xù)不斷的數(shù)據(jù)的集合。數(shù)據(jù)寫入程序可以是一段、一段地向數(shù)據(jù)流管道中寫入數(shù)據(jù),這些數(shù)據(jù)段會按先后順序形成一個長的數(shù)據(jù)流。對數(shù)據(jù)讀取程序來說,看不到數(shù)據(jù)流在寫入時的分段情況,每次可以讀取其中的任意長度的數(shù)據(jù),但只能先讀取前面的數(shù)據(jù)后,再讀取后面的數(shù)據(jù)。11.1 輸入/輸出流第5頁,共83頁。一組有序,有起點和終點的字節(jié)的數(shù)據(jù)序列。

3、包括輸入流和輸出流。11.1 輸入/輸出流第6頁,共83頁。11.1.1 I/O流的概念 在Java中將信息的輸入輸出過程抽象為I/O流輸入是指數(shù)據(jù)流入程序輸出是指數(shù)據(jù)從程序流出一個流就是一個從源流向目的地的數(shù)據(jù)序列IO流類一旦被創(chuàng)建就會自動打開通過調用close方法,可以顯式關閉任何一個流,如果流對象不再被引用,Java的垃圾回收機制也會隱式地關閉它第7頁,共83頁。11.1.1 I/O流的概念輸入流為了從信息源獲取信息,程序打開一個輸入流,程序可從輸入流讀取信息第8頁,共83頁。11.1.1 I/O流的概念輸出流當程序需要向目標位置寫信息時,便需要打開一個輸出流,程序通過輸出流向這個目標位

4、置寫信息9第9頁,共83頁。對象源? /目標? 或兩者?disk filerunning programmonitorkeyboardInternet connectionimage scannermouseBothBothDestinationSourceBothSourceSource11.1.1 I/O流的概念源和目標的類型第10頁,共83頁。讀寫數(shù)據(jù)的方法不論數(shù)據(jù)從哪來,到哪去,也不論數(shù)據(jù)本身是何類型,讀寫數(shù)據(jù)的方法大體上都是一樣的讀寫打開一個流讀信息關閉流打開一個流寫信息關閉流11.1.1 I/O流的概念第11頁,共83頁。11.1.1 I/O流的概念緩沖流:為流配備一個緩沖區(qū)(bu

5、ffer)緩沖區(qū)就是一塊存儲區(qū)域,用來輔助與外部設備的數(shù)據(jù)傳輸,從而提高數(shù)據(jù)的傳輸效率在實現(xiàn)寫數(shù)據(jù)時,先將這些數(shù)據(jù)寫入流緩沖區(qū),而并不直接將它們送入輸出設備,流緩沖區(qū)的數(shù)據(jù)量會被自動地跟蹤,一旦發(fā)現(xiàn)緩沖區(qū)滿了,就會將其中的數(shù)據(jù)一次性傳輸?shù)酵獠吭O備上,緩沖區(qū)變?yōu)榭湛梢詼p少與外部設備打交道的次數(shù)第12頁,共83頁。11.1.2 預定義的I/O流類概述從流的方向劃分輸入流輸出流從流的分工劃分節(jié)點流處理流從流的內容劃分面向字符的流(字符流)面向字節(jié)的流(二進制流)第13頁,共83頁。11.1.2 預定義的I/O流類概述java.io包的頂級層次結構面向字符的流:專門用于字符數(shù)據(jù)面向字節(jié)的流:用于一般目

6、的 第14頁,共83頁。1) 面向字符的流面向字符的流針對字符數(shù)據(jù)的特點進行過優(yōu)化,提供一些面向字符的有用特性源或目標通常是文本文件第15頁,共83頁。面向字符的抽象類Reader和Writerjava.io包中所有字符流的抽象基類Reader提供了輸入字符的APIWriter提供了輸出字符的API多數(shù)程序使用這兩個抽象類的一系列子類來讀入/寫出文本信息1) 面向字符的流第16頁,共83頁。陰影部分為節(jié)點流1) 面向字符的流第17頁,共83頁。數(shù)據(jù)源或目標中含有非字符數(shù)據(jù),必須用字節(jié)流來輸入/輸出通常被用來讀寫諸如圖片、聲音之類的二進制數(shù)據(jù)絕大多數(shù)數(shù)據(jù)是被存儲為二進制文件的,世界上的文本文件大

7、約只能占到2,通常二進制文件要比含有相同數(shù)據(jù)量的文本文件小得多2) 面向字節(jié)的流第18頁,共83頁。InputStream和OutputStream是用來處理8位字節(jié)流的抽象基類,程序使用這兩個類的子類來讀寫8位的字節(jié)信息分為兩部分節(jié)點流處理流2) 面向字節(jié)的流第19頁,共83頁。陰影部分為節(jié)點流2) 面向字節(jié)的流第20頁,共83頁。3) 標準輸入輸出標準輸入輸出流對象,System類靜態(tài)成員變量System.in: InputStream類型的,代表標準輸入流,這個流是已經打開了的,默認狀態(tài)對應于鍵盤輸入。System.out:PrintStream類型的,代表標準輸出流,默認狀態(tài)對應于屏幕

8、輸出System.err:PrintStream類型的,代表標準錯誤信息輸出流,默認狀態(tài)對應屏幕輸出第21頁,共83頁。public class Echo public static void main(String args) throws IOException BufferedReader in = new BufferedReader( new InputStreamReader(System.in); String s; while(s = in.readLine().length()!= 0) System.out.println(s); 運行結果Hello!Hello!第22頁,

9、共83頁。System.in程序啟動時由Java系統(tǒng)自動創(chuàng)建的流對象,它是原始的字節(jié)流,不能直接從中讀取字符,需要對其進行進一步的處理InputStreamReader(System.in)以System.in為參數(shù)創(chuàng)建一個InputStreamReader流對象,相當于字節(jié)流和字符流之間的一座橋梁,讀取字節(jié)并將其轉換為字符BufferedReader in對InputStreamReader處理后的信息進行緩沖,以提高效率第23頁,共83頁。4) 處理流不直接與數(shù)據(jù)源或目標相連,而是基于另一個流來構造從流讀寫數(shù)據(jù)的同時對數(shù)據(jù)進行處理實例中的InputStreamReader和Buffered

10、Reader都屬于處理流InputStreamReader讀取字節(jié)并轉換為字符BufferedReader對另一個流產生的數(shù)據(jù)進行緩沖第24頁,共83頁。用一行表達式實現(xiàn):BufferedReader stdin = new BufferedReader ( new InputStreamReader(System.in) ); 4) 處理流第25頁,共83頁。5) I/O異常多數(shù)IO方法在遇到錯誤時會拋出異常,因此調用這些方法時必須在方法頭聲明拋出IOException異常或者在try塊中執(zhí)行IO,然后捕獲IOException第26頁,共83頁。 11.1.3 File 類 表示磁盤文件信

11、息定義了一些與平臺無關的方法來操縱文件創(chuàng)建、刪除文件重命名文件判斷文件的讀寫權限及是否存在設置和查詢文件的最近修改時間等構造文件流可以使用File類的對象作為參數(shù)第27頁,共83頁。 11.1.3 File 類 第28頁,共83頁。 11.1.3 File 類 第29頁,共83頁。public static void main(String args) throws IOException File f=new File(D:+ File.separator+Hello.txt); if (f.exists() f.delete(); else try f.createNewFile(); c

12、atch(Exception e) System.out.println(e.getMessage(); 第30頁,共83頁。運行結果因為在例11_2中已經創(chuàng)建了d:Hello.txt,所以第一次運行將刪除這個文件第二次運行則又創(chuàng)建了一個此名的空文件分析在試圖打開文件之前,可以使用File類的isFile方法來確定File對象是否代表一個文件而非目錄)還可通過exists方法判斷同名文件或路徑是否存在,進而采取正確的方法,以免造成誤操作31 11.1.3 File 類 第31頁,共83頁。11.2 文件讀寫11.2.1 寫文本文件11.2.2 讀文本文件11.2.3 寫二進制文件11.2.4

13、讀二進制文件11.2.5 處理壓縮文件11.2.6 對象序列化第32頁,共83頁。11.2.1 寫文本文件 本節(jié)知識點FileWriter類 創(chuàng)建一個磁盤文件 關閉一個磁盤文件 write() 方法捕獲I/O異常 BufferedWriter 類第33頁,共83頁。1) FileWriter類(字符輸出流類)構造方法FileWriter fw = new FileWriter(String fileName);創(chuàng)建字符輸出流類對象和已存在的文件相關聯(lián)。文件不存在,則創(chuàng)建。FileWriter fw = new FileWriter(String fileName, boolean append

14、);創(chuàng)建字符輸出流類對象和已存在的文件相關聯(lián),并設置該該流對文件的操作是否為續(xù)寫FileWriter fw = new FileWriter(C:demo.txt);FileWriter fw = new FileWriter(C:demo.txt,ture); 第34頁,共83頁。1) FileWriter類(字符輸出流類)主要方法void write(String str) 寫入字符串。viod flush() 刷新該流中的緩沖。viod close() 關閉此流。第35頁,共83頁。11.2.1 寫文本文件【例】在C盤根目錄創(chuàng)建文本文件Hello.txt,并往里寫入若干行文本public

15、 static void main ( String args ) throws IOException String fileName = D:Hello.txt; FileWriter writer = new FileWriter( fileName ); writer.write( Hello!n); writer.write( This is a filen); writer.close(); 第36頁,共83頁。每次運行這個程序,都將刪除已經存在的”Hello.txt”文件,創(chuàng)建一個新的同名文件FileWriter的構造方法有五個,本例是通過一個字符串指定文件名來創(chuàng)建FileWri

16、ter類的write方法向文件中寫入字符close方法清空流里的內容并關閉它。如果不調用該方法,可能系統(tǒng)還沒有完成所有數(shù)據(jù)的寫操作,程序就結束了11.2.1 寫文本文件-實例說明第37頁,共83頁。Writer類的流可實現(xiàn)內部格式到外部磁盤文件格式的轉換“Hello.txt”是一個普通的ASCII碼文本文件,英文字符占一個字節(jié),中文字符占兩個字節(jié)Java程序中的字符串則是每個字符占兩個字節(jié)的,采用Unicode編碼11.2.1 寫文本文件-實例說明第38頁,共83頁。public static void main ( String args ) String fileName = D:Hell

17、o.txt ; try /將所有IO操作放入try塊中 FileWriter writer = new FileWriter( fileName ,true ); writer.write( Hello!n); writer.write( This is a text filen); writer.close(); catch ( IOException iox) System.out.println(Problem writing + fileName ); 第39頁,共83頁。運行此程序,會發(fā)現(xiàn)在原文件內容后面又追加了重復的內容,這就是將構造方法的第二個參數(shù)設為true的效果如果將文件屬性

18、改為只讀屬性,再運行本程序,就會出現(xiàn)IO錯誤,程序將轉入catch塊中,給出出錯信息4011.2.1 寫文本文件第40頁,共83頁。如果需要寫入的內容很多,就應該使用更為高效的緩沖器流類BufferedWriterFileWriter和BufferedWriter類都用于輸出字符流,包含的方法幾乎完全一樣,但BufferedWriter多提供了一個newLine()方法用于換行不同廠家生產的計算機 (IBM, Apple, VAX, Sun) 對文字的換行方法不同。newLine()方法可以輸出在當前計算機上正確的換行符2) BufferedWriter類第41頁,共83頁。public st

19、atic void main ( String args ) throws IOException String fileName = D:newHello.txt ; BufferedWriter out =new BufferedWriter(new FileWriter( fileName ); out.write( Hello! ); out.newLine() ; out.write( This is another File); out.close();第42頁,共83頁。11.2.2 讀文本文件 本節(jié)知識點Reader FileReader BufferedReader和read

20、Line() 43第43頁,共83頁。FileReader類從文本文件中讀取字符繼承自Reader抽象類的子類InputStreamReaderBufferedReader讀文本文件的緩沖器類具有readLine()方法,可以對換行符進行鑒別,一行一行地讀取輸入流中的內容繼承自Reader11.2.2 讀文本文件 第44頁,共83頁。文件輸入方法:BufferedReader in= new BufferedReader( new FileReader( fileName) ); 11.2.2 讀文本文件 第45頁,共83頁。public static void main (String ar

21、gs) String fileName = D:Hello.txt ; String line; try BufferedReader in = new BufferedReader(new FileReader(fileName); line = in.readLine(); while ( line != null ) System.out.println( line ); line = in.readLine(); in.close(); catch ( IOException iox ) System.out.println(Problem +fileName); 第46頁,共83頁。

22、FileReader對象創(chuàng)建后將打開文件,如果文件不存在,會拋出一個IOExceptionclose()方法為了操作系統(tǒng)可以更為有效地利用有限的資源,應該在讀取完畢后,調用該方法11.2.2 讀文本文件 第47頁,共83頁。BufferedReader類的readLine()方法從一個面向字符的輸入流中讀取一行文本。如果其中不再有數(shù)據(jù),返回nullReader類的read()方法也可用來判別文件結束。該方法返回的一個表示某個字符的int型整數(shù),如果讀到文件末尾,返回 -1。因此可修改本例中讀文件部分11.2.2 讀文本文件 int c;while(c=in.read()!= -1) Syste

23、m.out.print(char)c);第48頁,共83頁。 11.2.3 寫二進制文件 本節(jié)知識點二進制文件 OutputStream FileOutputStream BufferedOutputStream DataOutputStream第49頁,共83頁。原則上講,所有文件都是由8位的字節(jié)組成的如果文件字節(jié)中的內容應被解釋為字符,則文件被稱為文本文件;如果被解釋為其它含義,則文件被稱為二進制文件例如文字處理程序,字處理軟件Word產生的doc文件中,數(shù)據(jù)要被解釋為字體、格式、圖形和其他非字符信息。因此,這樣的文件是二進制文件,不能用Reader流正確讀取 11.2.3 寫二進制文件

24、第50頁,共83頁。為什么需要二進制文件輸入輸出更快比文本文件小很多有些數(shù)據(jù)不容易被表示為字符 11.2.3 寫二進制文件 第51頁,共83頁。1) 抽象類OutputStream提供了3個write方法來做數(shù)據(jù)的輸出public void write(byte b )將參數(shù)b中的字節(jié)寫到輸出流 public void write(byte b , int off, int len) 將b從偏移量off開始len個字節(jié)寫到輸出流 public abstract void write(int b)先將int轉換為byte類型,把低字節(jié)寫入輸出流第52頁,共83頁。1) 抽象類OutputStre

25、am主要的子類第53頁,共83頁。派生類FileOutputStream作用:用來處理以文件作為數(shù)據(jù)輸出目的數(shù)據(jù)流;或者說是從內存區(qū)讀數(shù)據(jù)入文件 FileOutputStream(File file) 創(chuàng)建一個向指定File對象表示的文件中寫入數(shù)據(jù)的文件輸出流。 FileOutputStream(String name) 創(chuàng)建一個向具有指定名稱的文件中寫入數(shù)據(jù)的輸出文件流。1) 抽象類OutputStream第54頁,共83頁。派生類FileOutputStream創(chuàng)建一個文件流對象:FileOutputStream out=new FileOutputStream(d:/write.txt

26、); File f=new File (“d:/write.txt );FileOutputStream out= new FileOutputStream (f);1) 抽象類OutputStream使用鍵盤輸入一段文章,將文章保存在文件write.txt中第55頁,共83頁。 public static void main(String args) throws IOException try System.out.println(please Input from Keyboard); int count, n = 512; byte buffer = new byten; count

27、= System.in.read(buffer); FileOutputStream wf = new FileOutputStream(d:/write.txt); wf.write(buffer, 0, count); wf.close(); System.out.println(Save to the write.txt); catch (IOException IOe) System.out.println(File Write Error!); 第56頁,共83頁。派生類DataOutputStream數(shù)據(jù)輸出流允許應用程序以適當方式將基本 Java 數(shù)據(jù)類型寫入輸出流中。然后應用程

28、序可以使用數(shù)據(jù)輸入流將數(shù)據(jù)讀入。具有寫各種基本數(shù)據(jù)類型的方法將數(shù)據(jù)寫到另一個輸出流在所有計算機平臺上使用同樣的數(shù)據(jù)格式其中size方法,可作為計數(shù)器,統(tǒng)計寫入的字節(jié)數(shù)1) 抽象類OutputStream第57頁,共83頁。 11.2.3 寫二進制文件 第58頁,共83頁。 11.2.3 寫二進制文件 第59頁,共83頁。public static void main ( String args ) String fileName = d:/data1.dat ; int value0 =255, value1= 0, value2=-1; try DataOutputStream out =

29、new DataOutputStream( new FileOutputStream(fileName); out.writeInt( value0 ); out.writeInt( value1 ); out.writeInt( value2 ); out.close(); catch ( IOException iox ) System.out.println(Problem writing ); 第60頁,共83頁。說明FileOutputStream類的構造方法負責打開文件“data1.dat”用于寫數(shù)據(jù)FileOutputStream類的對象與DataOutputStream對象連接

30、,寫基本類型的數(shù)據(jù) 11.2.3 寫二進制文件 第61頁,共83頁。運行結果運行程序后,在D盤生成數(shù)據(jù)文件data1.dat用寫字板打開沒有任何顯示用二進制查看器打開查看其二進制信息,內容為00 00 00 FF 00 00 00 00 FF FF FF FF,每個int數(shù)字都是32個bit的 11.2.3 寫二進制文件 第62頁,共83頁。BufferedOutputStream類寫二進制文件的緩沖流類類似于文本文件中的BufferedWriter對于大量數(shù)據(jù)的寫入,可提高效率用法示例:DataOutputStream out = new DataOutputStream( new Buff

31、eredOutputStream( new FileOutputStream( fileName ) ) ); 63 11.2.3 寫二進制文件 第63頁,共83頁。 public static void main( String args ) throws IOException String fileName = D:/mixedTypes.dat ; DataOutputStream dataOut = new DataOutputStream( new BufferedOutputStream( new FileOutputStream( fileName); dataOut.writ

32、eInt( 0 ); System.out.println( dataOut.size() + bytes have been written.); dataOut.writeDouble( 31.2 ); System.out.println( dataOut.size() + bytes have been written.); dataOut.writeBytes(JAVA); System.out.println( dataOut.size() + bytes have been written.); dataOut.flush(); dataOut.close(); 第64頁,共83

33、頁。運行結果4 bytes have been written12 bytes have been written16 bytes have been written說明這個程序可作為字節(jié)計數(shù)器 11.2.3 寫二進制文件 第65頁,共83頁。 11.2.4 讀二進制文件 本節(jié)知識點FileInputStreamDataInputStreamBufferedInputSteam 讀寫整數(shù) 讀寫單字節(jié) 第66頁,共83頁。1) 抽象類InputStreamInputstream類中的常用方法public abstract int read( ):讀取一個byte的數(shù)據(jù),返回值是高位補0的int類

34、型值。public int read(byte b ):讀取b.length個字節(jié)的數(shù)據(jù)放到b數(shù)組中。返回值是讀取的字節(jié)數(shù)。public int read(byte b , int off, int len):讀取len個字節(jié)的數(shù)據(jù),存放到偏移量為off的b數(shù)組中public long skip(long n):忽略輸入流中的n個字節(jié),跳過一些字節(jié)來讀取第67頁,共83頁。派生類FileIntputStream作用:以文件作為數(shù)據(jù)輸入源的數(shù)據(jù)流。或者說是打開文件,從文件讀數(shù)據(jù)到內存的類FileInputStream(String name) 通過文件系統(tǒng)中的路徑名name創(chuàng)建一個FileInp

35、utStream對象。 FileInputStream(File file) 通過File對象創(chuàng)建一個FileInputStream對象。允許在把文件連接到輸入流之前對文件做進一步分析,如修改寫入刪除等等1) 抽象類InputStream第68頁,共83頁。派生類FileIntputStream使用方法:File fin=new File(d:/abc.txt); FileInputStream in=new FileInputStream( fin);FileInputStream in=new FileInputStream(d: /abc.txt);1) 抽象類InputStream第6

36、9頁,共83頁。1) 抽象類InputStreamDataInputStream intread(byte b) intread(byte b, int off, int len) booleanreadBoolean() bytereadByte() charreadChar() doublereadDouble() floatreadFloat() intreadInt() longreadLong() shortreadShort() 第70頁,共83頁。public static void main ( String args ) String fName = D:data1.dat;

37、 int sum = 0; try DataInputStream instr = new DataInputStream( new BufferedInputStream( new FileInputStream( fileName ); sum += instr.readInt(); sum += instr.readInt(); sum += instr.readInt(); System.out.println( The sum is: +sum); instr.close(); catch ( IOException iox ) System.out.println(Problem

38、reading + fileName ); 第71頁,共83頁。readInt方法可以從輸入流中讀入4個字節(jié)并將其當作int型數(shù)據(jù)由于知道文件中存儲的是3個int型數(shù)據(jù),所以使用了3個讀入語句如果不知道數(shù)據(jù)的個數(shù)該怎么辦呢?因為DataInputStream的讀入操作如遇到文件結尾就會拋出EOFException異常,所以我們可以將讀操作放入try塊中 11.2.4 讀二進制文件 第72頁,共83頁。public static void main(String args) throws IOException FileInputStream s=new FileInputStream(d:/H

39、ello.txt); int c; while (c = s.read() != -1) /讀取1字節(jié),結束返回-1 System.out.write(c); s.close();第73頁,共83頁。 public static void main(String args) throws Exception DataOutputStream out= new DataOutputStream( new FileOutputStream(D:/trytry.dat); out.writeByte(-1); out.close(); DataInputStream in=new DataInput

40、Stream( new FileInputStream(D:/trytry.dat); int a=in.readByte(); System.out.println(Integer.toHexString (a); System.out.println(a); in.skip (-1); /往后一個位置,以便下面重新讀出 a=in.readUnsignedByte(); System.out.println(Integer.toHexString (a); System.out.println(a); in.close(); 運行結果ffffffff-1ff255第74頁,共83頁。用二進制

41、查看器打開D:/trytry.dat文件,其內容為FF如果用readByte讀入,其高24位都將補1,所以結果還是-1如果用readUnsignedByte讀入,其高24位都將補0,結果就變成了255寫的字節(jié)是連續(xù)的,中間沒有分隔符,所以應該記住寫的數(shù)據(jù)類型、個數(shù)等情況,以便將來利用 11.2.4 讀二進制文件 第75頁,共83頁。11.2.5 處理壓縮文件壓縮流類java.util.zip包中提供了一些類,使我們可以以壓縮格式對流進行讀寫它們都繼承自字節(jié)流類OutputStream和InputStream其中GZIPOutputStream和ZipOutputStream可分別把數(shù)據(jù)壓縮成GZIP格式和Zip格式GZIPInputStream和ZipInputStream可以分別把壓縮成GZIP格式或Zip的數(shù)據(jù)解壓縮恢復原狀第76頁,共83頁。11.2.5 處理壓縮文件如果要從ZIP壓縮管理文件內讀取某個文件,要先找到對應該文件的”目錄進入點”(從它可知該文件在Zip文件內的位置),才能讀取這個文件的內容。如果要將文件內容寫到Zip文件內,必須先寫入對應于該文件的”目錄進入點”,并且把要寫入文件內容的位置移到此進入點所指的位置,然后再寫入文件內容。ZipEntry類產生的對象,用來代表一個ZIP壓縮

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論