




已閱讀5頁,還剩14頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
java io 總結(jié) java中的io中的(input/output)stream無非就是包括基于字符的stream、基于字節(jié)的stream和把字節(jié)導(dǎo)向的stream轉(zhuǎn)換字符為導(dǎo)向的stream的stream。 (很難理解么?)以字節(jié)為導(dǎo)向的streamInputStream/OutputStreamInputStream和OutputStream是兩個abstact類,對于字節(jié)為導(dǎo)向的stream_);InputStreamByteArrayInputStream把內(nèi)存中的一個緩沖區(qū)作為InputStream使用.constructByteArrayInputStream(byte)創(chuàng)建一個新字節(jié)數(shù)組輸入流,它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)。 ByteArrayInputStream(byte,int,int)創(chuàng)建一個新字節(jié)數(shù)組輸入流,它從指定字節(jié)數(shù)組中讀取數(shù)據(jù)。 mark:該字節(jié)數(shù)組未被復(fù)制。 StringBufferInputStream把一個String對象作為InputStream.注釋不推薦使用StringBufferInputStream方法。 此類不能將字符正確的轉(zhuǎn)換為字節(jié)。 同JDK1.1版中的類似,從一個串創(chuàng)建一個流的最佳方法是采用StringReader類。 constructStringBufferInputStream(String)據(jù)指定串創(chuàng)建一個讀取數(shù)據(jù)的輸入流串。 FileInputStream把一個文件作為InputStream,實(shí)現(xiàn)對文件的讀取操作constructFileInputStream(File)創(chuàng)建一個輸入文件流,從指定的File對象讀取數(shù)據(jù)。 FileInputStream(FileDescriptor)創(chuàng)建一個輸入文件流,從指定的文件描述器讀取數(shù)據(jù)。 FileInputStream(String)創(chuàng)建一個輸入文件流,從指定名稱的文件讀取數(shù)據(jù)。 methodread()從當(dāng)前輸入流中讀取一字節(jié)數(shù)據(jù)。 read(byte)將當(dāng)前輸入流中b.length個字節(jié)數(shù)據(jù)讀到一個字節(jié)數(shù)組中。 read(byte,int,int)將輸入流中l(wèi)en個字節(jié)數(shù)據(jù)都擴(kuò)展這兩個雞肋(基類讀入一個字節(jié)數(shù)組中。 PipedInputStream實(shí)現(xiàn)了pipe的概念,主要在線程中使用.管道輸入流是指一個通訊管道的接收端。 一個線程通過管道輸出流發(fā)送數(shù)據(jù),而另一個線程通過管道輸入流讀取數(shù)據(jù),這樣可實(shí)現(xiàn)兩個線程間的通訊。 PipedInputStream()創(chuàng)建一個管道輸入流,接。 PipedInputStream(PipedOutputStream)創(chuàng)建一個管道輸入流,它已連接到一個管道輸出它還未與一個管道輸出流連流。 SequenceInputStream把多個InputStream合并為一個InputStream.“序列輸入流”類允許應(yīng)用程序把幾個輸入流連續(xù)地合并起來,并且使它們像單個輸入流一樣出現(xiàn)。 每個輸入流依次被讀取,直到到達(dá)該流的末尾。 然后“序列輸入流”類關(guān)閉這個流并自動地切換到下一個輸入流。 SequenceInputStream(Enumeration)創(chuàng)建一個新的序列輸入流,并用指定的輸入流的枚舉值初始化它。 SequenceInputStream(InputStream,InputStream)創(chuàng)建一個新的序列輸入流,初始化為首先讀輸入流s1,然后讀輸入流s2。 OutputSteam ByteArrayOutputStream把信息存入內(nèi)存中的一個緩沖區(qū)中.該類實(shí)現(xiàn)一個以字節(jié)數(shù)組形式寫入數(shù)據(jù)的輸出流。 當(dāng)數(shù)據(jù)寫入緩沖區(qū)時,它自動擴(kuò)大。 用toByteArray()和toString()能檢索數(shù)據(jù)。 constructByteArrayOutputStream()創(chuàng)建一個新的字節(jié)數(shù)組輸出流。 ByteArrayOutputStream()創(chuàng)建一個新的字節(jié)數(shù)組輸出ByteArrayOutputStream(int)創(chuàng)建一個新的字節(jié)數(shù)組輸出流,并帶有指定大小字節(jié)的緩沖區(qū)容量。 toString(String)根據(jù)指定字符編碼將緩沖區(qū)內(nèi)容轉(zhuǎn)換為字符串,并將字節(jié)轉(zhuǎn)換為字符。 write(byte,int,int)將指定字節(jié)數(shù)組中從偏移量off開始的len個字節(jié)寫入該字節(jié)數(shù)組輸出流。 write(int)將指定字節(jié)寫入該字節(jié)數(shù)組輸出流。 writeTo(OutputStream)用out.write(buf,0,count)調(diào)用輸出流的寫方法將該字節(jié)數(shù)組輸出流的全部內(nèi)容寫入指定的流。 輸出流參數(shù)。 FileOutputStream:文件輸出流是向File或FileDescriptor輸出數(shù)據(jù)的一個輸出流。 FileOutputStream(File)創(chuàng)建一個文件輸出流,據(jù)。 FileOutputStream(FileDescriptor)創(chuàng)建一個文件輸出流,向指定的文件描述器輸出數(shù)據(jù)。 FileOutputStream(String)創(chuàng)建一個文件輸出流,據(jù)。 FileOutputStream(String,boolean)用指定系統(tǒng)的文件名,創(chuàng)建一個輸出文件。 PipedOutputStream:管道輸出流是指一個通訊管道的發(fā)送端。 一個線程通過管道輸出流向指定的File對象輸出數(shù)向指定名稱的文件輸出數(shù)發(fā)送數(shù)據(jù),而另一個線程通過管道輸入流讀取數(shù)據(jù),這樣可實(shí)現(xiàn)兩個線程間的通訊。 PipedOutputStream()創(chuàng)建一個管道輸出流,接。 PipedOutputStream(PipedInputStream)創(chuàng)建一個管道輸出流,它已連接到一個管道輸入它還未與一個管道輸入流連流。 以字符為導(dǎo)向的stream Reader/Writer以Unicode字符為導(dǎo)向的stream,表示以Unicode字符為單位從stream中讀取或往stream中寫入信息。 Reader/Writer為abstact類以Unicode字符為導(dǎo)向的stream包括下面幾種類型Reader1)CharArrayReader與ByteArrayInputStream對應(yīng)CharArrayReader(char)用指定字符數(shù)組創(chuàng)建一個CharArrayReader。 CharArrayReader(char,int,int)用指定字符數(shù)組創(chuàng)建一個CharArrayReader。 2)StringReader與StringBufferInputStream對應(yīng)StringReader(String)創(chuàng)建一新的串讀取者。 3)FileReader與FileInputStream對應(yīng)4)PipedReader與PipedInputStream對應(yīng)Writer1)CharArrayWrite與ByteArrayOutputStream對應(yīng)2)StringWrite無與之對應(yīng)的以字節(jié)為導(dǎo)向的stream3)FileWrite與FileOutputStream對應(yīng)4)PipedWrite與PipedOutputStream對應(yīng)兩種不現(xiàn)導(dǎo)向的stream之間的轉(zhuǎn)換InputStreamReader和OutputStreamReader把一個以字節(jié)為導(dǎo)向的stream轉(zhuǎn)換成一個以字符為導(dǎo)向的stream。 一個InputStreamReader類是從字節(jié)流到字符流的橋梁它讀入字節(jié),并根據(jù)指定的編碼方式,將之轉(zhuǎn)換為字符流。 使用的編碼方式可能由名稱指定,或平臺可接受的缺省編碼方式。 InputStreamReader的read()方法之一的每次調(diào)用,可能促使從基本字節(jié)輸入流中讀取一個或多個字節(jié)。 為了達(dá)到更高效率,考慮用BufferedReader封裝InputStreamReader,BufferedReader in=new BufferedReader(new InputStreamReader(System.in);InputStreamReader(InputStream)用缺省的字符編碼方式,InputStreamReader。 InputStreamReader(InputStream,String)用已命名的字符編碼方式,創(chuàng)建一個InputStreamReader。 OutputStreamWriter將多個字符寫入到一個輸出流,根據(jù)指定的字符編碼將多個字符轉(zhuǎn)換為字節(jié)。 每個OutputStreamWriter合并它自己的CharToByteConverter,因而是從字符流創(chuàng)建一個到字節(jié)流的橋梁。 FilterInputStream、RandomAessFile見例子。 ObjectInputStream、ObjectOutputStream見另外blog。 Java IO的一般使用原則 一、按數(shù)據(jù)(去向)分類 1、是文件FileInputStream,FileOutputStream,FileReader,FileWriter 2、是byteByteArrayInputStream,ByteArrayOutputStream 3、是Char:CharArrayReader,CharArrayWriter 4、StringReader,StringWriter 5、網(wǎng)絡(luò)數(shù)據(jù)流InputStream,OutputStream,Reader,Writer 二、按是否格式化輸出分 1、要格式化輸出PrintStream,PrintWriter 三、按是否要緩沖分BufferedOutputStream,BufferedReader,BufferedWriter是String:StringBufferInputStream, 1、要緩沖BufferedInputStream, 四、按數(shù)據(jù)格式分 1、二進(jìn)制格式(只要不能確定是純文本的):InputStream,OutputStream及其所有帶Stream結(jié)束的子類 2、純文本格式(含純英文與漢字或其他編碼方式);Reader,Writer及其所有帶Reader,Writer的子類 五、按輸入輸出分 1、輸入Reader,InputStream類型的子類 2、輸出Writer,OutputStream類型的子類 六、特殊需要 1、從Stream到Reader,Writer的轉(zhuǎn)換類InputStreamReader,OutputStreamWriter 2、對象輸入輸出ObjectInputStream,ObjectOutputStream 3、進(jìn)程間通信PipeInputStream,PipeOutputStream,PipeReader,PipeWriter 4、合并輸入SequenceInputStream 5、PushbackInputStream,PushbackReader,LineNumberInputStream,LineNumberReader更特殊的需要決定使用哪個類以及它的構(gòu)造進(jìn)程的一般準(zhǔn)則如下(不考慮特殊需要)首先,考慮最原始的數(shù)據(jù)格式是什么原則四第二,是輸入還是輸出原則五第三,是否需要轉(zhuǎn)換流原則六第1點(diǎn)第四,數(shù)據(jù)(去向)是什么原則一第五,是否要緩沖原則三(特別注明一定要注意的是readLine()是否有定義,有什么比read,write更特殊的輸入或輸出方法)第六,是否要格式化輸出原則二文章2首先是java的IO。 這破東西可真費(fèi)事,I/O類庫常使用”流(stream)”這種抽象。 所謂”流”是一種能生成或接受數(shù)據(jù)的,代表數(shù)據(jù)的源和目標(biāo)的對象。 流把I/O設(shè)備內(nèi)部的具體操作給隱藏起來了。 正如JDK文檔所顯示的,Java的I/O類庫分成輸入和輸出兩大部分。 所有InputStream和Reader的派生類都有一個基本的,繼承下來的,能讀取單個或byte數(shù)組的read()方法。 同理,所有OutputStream和Writer的派生類都有一個基本的,能寫入單個或byte數(shù)組的write()方法。 但通常情況下,你是不會去用這些方法的;它們是給其它類用的而后者會提供一些更實(shí)用的接口。 因此,你很少會碰到只用一個類就能創(chuàng)建一個流的情形,實(shí)際上你得把多個對象疊起來,并以此來獲取所需的功能。 Java的流類庫之所以會那么讓人犯暈,最主要的原因就是”你必須為創(chuàng)建一個流而動用多個對象”。 Java的IO類結(jié)構(gòu)根接口FileInputStream/FileOutputStream,ByteArrayInputStream/ByteArrayOutputStream等,充當(dāng)IO類有BufferedInputStream DataInputStream/DataOutputStream等,F(xiàn)ilterInputStream/FilterOutputStream。 使用IO時,首先創(chuàng)建一個數(shù)據(jù)源IO,然后根據(jù)需要的功能創(chuàng)建裝飾類IO,其構(gòu)造函數(shù)的參數(shù)為已創(chuàng)建的數(shù)據(jù)源IO。 我們以創(chuàng)建一個具有緩沖的文件輸入流為例,假定需要從磁盤讀取文件“C:log.txt”/創(chuàng)建一個FileInputStream:FileInputStream fileInput=new FileInputStream(”C:log.txt”);是InputStream/OutputStream,充當(dāng)數(shù)據(jù)源的IO類有裝飾功能的/BufferedOutputStream,它們都是繼承裝飾接口/創(chuàng)建一個BufferedInputStream:BufferedInputStream bufferedInput=new BufferedInputStream(fileInput);/現(xiàn)在得到的bufferedInput即是具有緩沖的文件輸入流或者進(jìn)一步簡寫如下InputStream input=new BufferedInputStream(new FileInputStream(”C:log.txt”);/現(xiàn)在得到的input即是具有緩沖的文件輸入流java.io.Reader和java.io.InputStream區(qū)別java.io.Reader和java.io.InputStream組成了Java輸入類。 Reader用于讀入16位字符,也就是Unicode編碼的字符;而InputStream用于讀入ASCII字符和二進(jìn)制數(shù)據(jù)。 在Java中,有不同類型的Reader輸入流對應(yīng)于不同的數(shù)據(jù)源FileReader用于從文件輸入;CharArrayReader用于從程序中的字符數(shù)組輸入;StringReader用于從程序中的字符串輸入;PipedReader用于讀取從另一個線程中的PipedWriter寫入管道的數(shù)據(jù)。 相應(yīng)的也有不同類型的InputStream輸入流對應(yīng)于不同的數(shù)據(jù)源FileInputStream,ByteArrayInputStream,StringBufferInputStream,PipedInputStream。 另外,還有兩種沒有對應(yīng)Reader類型的InputStream輸入流Socket用于套接字;URLConnection用于URL連接。 這兩個類使用getInputStream()來讀取數(shù)據(jù)。 相應(yīng)的,和java.io.OutputStream也有類似的區(qū)別。 1、Java技術(shù)支持兩種數(shù)據(jù)類型的流InputStream和OutputStream字節(jié)流。 其它字節(jié)流都是InputStream或OutputStream的子類。 Reader和Writer字符流。 其它字符流都是Reader或Writer的子類。 2、節(jié)點(diǎn)流Java2SDK中有三種基本類型的節(jié)點(diǎn)文件(file)、內(nèi)存(memory)、管道(pipe)。 3、過程流過程流在其它流之上,完成排序、變換等操作。 過程流也被稱做過濾流。 當(dāng)java.io.Writer你需要改變輸入流的原始數(shù)據(jù)時,你可以將一個過濾輸入流連接到一個原始的輸入流上。 用過濾流將原始數(shù)據(jù)變換成你需要的格式。 4、基本字節(jié)流類4. 1、FileInputStream和FileOutputStream這兩個節(jié)點(diǎn)流用來操縱磁盤文件。 這些類的構(gòu)造函數(shù)允許你指定它們所連接的文件。 要構(gòu)造一個FileInputStream,所關(guān)聯(lián)的文件必須存在而且是可讀的。 如果你要構(gòu)造一個FileOutputStream而輸出文件已經(jīng)存在,則它將被覆蓋。 FileInputStream infile=new FileInputStream(”myfile.dat”);FileOutputStream outfile=new FileOutputStream(”results.dat”);4. 1、BufferInputStream和BufferOutputStream這些是過濾器流,它們可以提高I/O操作的效率。 4. 3、PipedInputStream和PipedOutputStream管道流用來在線程間進(jìn)行通信。 一個線程的PipedInputStream對象從另一個線程的PipedOutputStream對象讀取輸入。 要使管道流有用,必須有一個輸入方和一個輸出方。 4. 4、DataInputStream和DataOutputStream這些過濾器通過流來讀寫Java基本類 5、基本字符流類圖闡述了Reader和Writer字符流的體系結(jié)構(gòu)。 5. 1、InputStreamReader和OutputStreamWriter用于字節(jié)流與字符流之間的轉(zhuǎn)換接口。 InputStreamReader或OutputStreamWriter時,轉(zhuǎn)換規(guī)則定義了16位Unicode和其它平臺的特定表示之間的轉(zhuǎn)換。 InputStreamReader從一個數(shù)據(jù)源讀取字節(jié),并自動將其轉(zhuǎn)換成Unicode字符。 如果你特別聲明,InputStreamReade會將字節(jié)流轉(zhuǎn)換成其它種類的字符流。 OutputStreamWriter將字符的Unicode編碼寫到輸出流,如果你的使用的不是Unicode字符,OutputStreamWriter會將你的字符編碼轉(zhuǎn)換成Unicode編碼。 5.2.、緩沖讀者和作者因?yàn)樵诟鞣N格式之間進(jìn)行轉(zhuǎn)換和其它I/O操作很類似,所以在處理大塊數(shù)據(jù)時效率最高。 在InputStreamReader和OutputStreamWriter的結(jié)尾鏈接一個BufferedReader和BufferedWriter是一個好主意。 記住對BufferedWriter使用flush()方法。 5. 3、使用其它字符轉(zhuǎn)換如果你需要從一個非本地(例如,從連接到一個不同類型的機(jī)器的網(wǎng)絡(luò)連接讀取)的字符編碼讀取輸入,當(dāng)你構(gòu)造一個你可以象下面這個程序那樣,ir=new InputStreamReader(System.in,“8859_1使用顯式的字符編碼構(gòu)造);注如果你通過網(wǎng)絡(luò)連接讀取字符,就應(yīng)該使用這種形式。 否則,你的程序會總是試圖將所讀取的字符當(dāng)作本地表示來進(jìn)行轉(zhuǎn)換,而這并不總是正確的。 ISO88591是映射到ASCII的Latin1編碼模式。 6、對象串行化java.io.Serializable接口支持將一個Java技術(shù)對象存放到一個流中。 將一個對象存放到某種類型的永久存儲器上稱為”保持”。 如果一個對象可以被存放到磁盤或磁帶上,或者可以發(fā)送到另外一臺機(jī)器并存放到存儲器或磁盤上,那么這個對象就被稱為可保持的。 java.io.Serializable接口沒有任何方法,它只作為一個”標(biāo)記”,用來表明實(shí)現(xiàn)了這個接口的類可以串行化。 類中沒有實(shí)現(xiàn)Serializable接口的對象不能被保持。 /文件實(shí)現(xiàn)追加/其中的FileWriter()中的第二個參數(shù)的含義是:是否在文件中追加內(nèi)容PrintWriter out=new PrintWriter(new FileWriter(logFileName,true),true);Java讀寫文件最常用的類是FileInputStream/FileOutputStream和FileReader/FileWriter。 其中FileInputStream和FileOutputStream是基于字節(jié)流的,常用于讀寫二進(jìn)制文件。 讀寫字符文件建議使用基于字符的FileReader和FileWriter,省去了字節(jié)與字符之間的轉(zhuǎn)換。 但這兩個類的構(gòu)造函數(shù)默認(rèn)使用系統(tǒng)的編碼方式,如果文件內(nèi)容與系統(tǒng)編碼方式不一致,可能會出現(xiàn)亂碼。 InputStreamReader/OutputStreamWriter,它們也是基于字符的,但在構(gòu)造函數(shù)中可以指定編碼類型InputStreamReader(InputStream in,Charset cs)和OutputStreamWriter(OutputStream out,Charset cs)。 在這種情況下,建議使用FileReader和FileWriter的父類/讀寫文件的編碼InputStreamReader r=new InputStreamReader(new FileInputStream(fileName),“utf8);OutputStreamWriter out=new OutputStreamWriter(new FileOutputStream(fileName),”utf8);/*三種IO性能比較:在讀寫一個10k文件的時候,三種方式的耗時如下:InputStreamReader AndOutputStreamWriter:63ms(可以設(shè)置文件的編碼,如果不用buffer)BufferedReader AndBufferedWriter:31ms BufferedInputStream And BufferedOutputStream:16ms*/*Description:Test thejava IOs efficiency*Author:KevinChen*Date:xx0218*/import java.io.*;/*using theInputStreamReader AndOutputStreamWriter*/class EncoderRWpublic staticString read(String fileName)throws IOExceptionStringBuffer sb=new StringBuffer();/*此處讀文件時用了buffer,如果不用,性能損失一倍*/BufferedReader in=new BufferedReader(new InputStreamReader(new FileInputStream(fileName),“utf8);String s;while(s=in.readLine()!=null)sb.append(s);sb.append(”n”);in.close();return sb.toString();public voidwrite(String fileName,String text)throws IOExceptionOutputStreamWriter out=new OutputStreamWriter(new FileOutputStream(fileName),”utf8);out.write(text);out.flush();out.close();/*using theBufferedReader AndBufferedWriter*/class WriterReaderpublic Stringread(String fileName)throws IOExceptionStringBuffer sb=new StringBuffer();BufferedReader in=new BufferedReader(new FileReader(fileName);String s;while(s=in.readLine()!=null)sb.append(s);sb.append(”n”);in.close();return sb.toString();public voidwrite(String fileName,String text)throws IOExceptionPrintWriter out=new PrintWriter(new BufferedWriter(new FileWriter(fileName);out.print(text);out.close();/*using theBufferedInputStreamAndBufferedOutputStream*/class BufferedStreampublic byteread(String fileName)throws IOExceptionBufferedInputStream remoteBIS=new BufferedInputStream(new FileI
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 市場營銷渠道管理表
- Python大數(shù)據(jù)分析與挖掘?qū)崙?zhàn):微課版(第2版)課件 第8章 深度學(xué)習(xí)與實(shí)現(xiàn);第9章 基于財務(wù)與交易數(shù)據(jù)的量化投資分析;第10章 眾包任務(wù)定價優(yōu)化方案
- 資本市場服務(wù)下沉如何支持縣域經(jīng)濟(jì)發(fā)展
- 生物科技進(jìn)展報告表
- 農(nóng)村土地制度改革與城鄉(xiāng)融合發(fā)展的路徑分析
- 化學(xué)元素周期表及周期律應(yīng)用教學(xué)教案
- 低空經(jīng)濟(jì)對傳統(tǒng)產(chǎn)業(yè)的升級影響
- 完善公共服務(wù)評價體系提高服務(wù)質(zhì)量監(jiān)控能力
- 語言學(xué)跨文化交際語言測試卷分析
- 人教部編版三年級語文下冊《九月九日憶山東兄弟》示范公開課教學(xué)課件
- 2025年動漫IP產(chǎn)業(yè)鏈構(gòu)建與動漫產(chǎn)業(yè)產(chǎn)業(yè)鏈協(xié)同效應(yīng)研究報告
- 1999年普通高等學(xué)校招生全國統(tǒng)一考試.文科數(shù)學(xué)試題及答案
- 2025年安全員之A證企業(yè)負(fù)責(zé)人模擬題庫及答案(附答案)
- 結(jié)核傳染病試題及答案
- 食管癌全程管理專家共識(2025)解讀
- 2024-2025學(xué)年八年級下冊道德與法治期末測試模擬卷(統(tǒng)編版)(含答案)
- 河南省洛陽市伊川縣2024-2025學(xué)年七年級下學(xué)期期中生物試題(含答案)
- 電力故障應(yīng)急演練改進(jìn)預(yù)案
- 公路水運(yùn)工程生產(chǎn)安全重大事故隱患判定標(biāo)準(zhǔn)2025
- (高清版)DG∕TJ 08-2093-2019 電動汽車充電基礎(chǔ)設(shè)施建設(shè)技術(shù)標(biāo)準(zhǔn) 含2021年局部修訂
- 專利技術(shù)成果轉(zhuǎn)讓證明書(7篇)
評論
0/150
提交評論