




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、day10【字節(jié)流、字符流】主要內(nèi)容字節(jié)流字符流異常處理Properties教學(xué)目標(biāo)能夠使用字節(jié)輸入流數(shù)據(jù)到程序能夠理解數(shù)據(jù)(byte)的原理能夠使用字節(jié)流完成文件的能夠使用FileWirter寫(xiě)數(shù)據(jù)到文件能夠說(shuō)出FileWriter中關(guān)閉和刷新能夠使用FileWriter寫(xiě)數(shù)據(jù)的5個(gè)的區(qū)別能夠使用FileWriter寫(xiě)數(shù)據(jù)實(shí)現(xiàn)換行和追加寫(xiě)能夠使用File能夠使用Fileer讀數(shù)據(jù)er讀數(shù)據(jù)一次一個(gè)字符數(shù)組能夠使用Properties的load第一章 字節(jié)流加載文件中配置1.1 字節(jié)輸入流【InputStream】java.io.InputStream 抽象類(lèi)是表示字節(jié)輸入流的所有類(lèi)的超類(lèi),可
2、以字節(jié)到內(nèi)存中。它定義了字節(jié)輸入流的基本共性功能。此輸入流并: 從輸入流: 從輸入流中與此流相關(guān)聯(lián)的任何系統(tǒng)資源。數(shù)據(jù)的下一個(gè)字節(jié)。一些字節(jié)數(shù),并將它們到字節(jié)數(shù)組 b中 。小貼士:1.2 FileInputStream類(lèi)java.io.FileInputStream 類(lèi)是文件輸入流,從文件中字節(jié)。構(gòu)造市昌平區(qū)建材城西路龍辦公樓一層:public void():關(guān)閉public abstract int()public int(byte b) FileInputStream(File file) : 通過(guò)打開(kāi)與實(shí)際文件的連接來(lái)創(chuàng)建一個(gè) FileInputStream ,該文件由文件系統(tǒng)中的 Fi
3、le對(duì)象 le命名。 FileInputStream(String name) : 通過(guò)打開(kāi)與實(shí)際文件的連接來(lái)創(chuàng)建一個(gè) FileInputStream ,該文件由文件系統(tǒng)中的路徑名 name命名。當(dāng)你創(chuàng)建一個(gè)流對(duì)象時(shí),必須傳入一個(gè)文件路徑。該路徑下,如果沒(méi)有該文件,會(huì)拋出 FileNotFoundException 。構(gòu)造舉例,代碼如下:字節(jié)數(shù)據(jù)1. 字節(jié): ,每次可以 一個(gè)字節(jié)的數(shù)據(jù),提升為int類(lèi)型, 到文件末尾,返回 -1 ,代碼使用演示:public class FIS public static void main(String args) throws IOException/ 使
4、用文件名稱(chēng)創(chuàng)建流對(duì)象FileInputStream fis = new FileInputStream( .txt);/ 數(shù)據(jù),返回一個(gè)字節(jié)int = fis. ();System.out.println(char) );= fis. ();System.out.println(char) );= fis. ();System.out.println(char) );= fis. ();System.out.println(char) );= fis. ();System.out.println(char) );/ 到末尾,返回1= fis. ();System.out.println( );
5、/ 關(guān)閉資源fis. ();輸出結(jié)果:a b cd市昌平區(qū)建材城西路 龍辦公樓一層 :public class FileInputStreamConstructor throws IOException public static void main(String args) / 使用File對(duì)象創(chuàng)建流對(duì)象File file = new File(a.txt);FileInputStream fos = new FileInputStream(file);/ 使用文件名稱(chēng)創(chuàng)建流對(duì)象FileInputStream fos = new FileInputStream(b.txt);循環(huán)改進(jìn) 方式,
6、代碼使用演示:public class FIS public static void main(String args) throws IOException/ 使用文件名稱(chēng)創(chuàng)建流對(duì)象FileInputStream fis = new FileInputStream( .txt);/ 定義變量,保存數(shù)據(jù)int b ;/ 循環(huán)while (b = fis. ()!=1) System.out.println(char)b);/ 關(guān)閉資源fis. ();輸出結(jié)果:a b c d e小貼士:1. 雖然 了一個(gè)字節(jié),但是會(huì)自動(dòng)提升為int類(lèi)型。2. 流操作完畢后,必須 系統(tǒng)資源,調(diào)用 ,2. 使用字節(jié)
7、數(shù)組 : (byte b) ,每次 b的長(zhǎng)度個(gè)字節(jié)到數(shù)組中,返回 到的有效字節(jié)個(gè)數(shù),讀取到末尾時(shí),返回 -1 ,代碼使用演示:public class FIS public static void main(String args) throws IOException/ 使用文件名稱(chēng)創(chuàng)建流對(duì)象.FileInputStream fis = new FileInputStream( .txt); / 文件中為abcde/ 定義變量,作為有效個(gè)數(shù)int len ;/ 定義字節(jié)數(shù)組,作為裝字節(jié)數(shù)據(jù)的容器byte b = new byte2;/ 循環(huán)while ( len= fis. (b)!=1)
8、/ 每次 后,把數(shù)組變成字符串打印System.out.println(new String(b);/ 關(guān)閉資源fis. ();輸出結(jié)果:市昌平區(qū)建材城西路 龍辦公樓一層 :e1錯(cuò)誤數(shù)據(jù) d ,是由于最后一次 時(shí),只 一個(gè)字節(jié) e ,數(shù)組中,上次 的數(shù)據(jù)沒(méi)有被完全替換,所以要通過(guò) len ,獲取有效的字節(jié),代碼使用演示:public class FIS public static void main(String args) throws IOException/ 使用文件名稱(chēng)創(chuàng)建流對(duì)象.FileInputStream fis = new FileInputStream( .txt); / 文
9、件中為abcde/ 定義變量,作為有效個(gè)數(shù)int len ;/ 定義字節(jié)數(shù)組,作為裝字節(jié)數(shù)據(jù)的容器byte b = new byte2;/ 循環(huán)while ( len= fis. (b)!=1) / 每次 后,把數(shù)組的有效字節(jié)部分,變成字符串打印System.out.println(new String(b,0,len);/ len 每次 的有效字節(jié)個(gè)數(shù)/ 關(guān)閉資源fis. ();輸出結(jié)果:ab cd e小貼士:使用數(shù)組 ,每次 多個(gè)字節(jié),減少了系統(tǒng)間的IO操作次數(shù),從而提高了讀寫(xiě)的效率,建議開(kāi)發(fā)中使用。1.3 字節(jié)流練習(xí):圖片原理圖解市昌平區(qū)建材城西路 龍辦公樓一層 :ab cd ed案例實(shí)
10、現(xiàn)圖片文件,代碼使用演示:小貼士:流的關(guān)閉原則:先開(kāi)后關(guān),后開(kāi)先關(guān)。第二章 字符流市昌平區(qū)建材城西路 龍辦公樓一層 :public class Copy public static void main(String args) throws IOException / 1.創(chuàng)建流對(duì)象/ 1.1 指定數(shù)據(jù)源FileInputStream fis = new FileInputStream(D:test.jpg);/ 1.2 指定目的地FileOutputStream fos = new FileOutputStream(test_copy.jpg);/ 2.讀寫(xiě)數(shù)據(jù)/ 2.1 定義數(shù)組byte
11、b = new byte1024;/ 2.2 定義長(zhǎng)度int len;/ 2.3 循環(huán)while (len = fis. (b)!=1) / 2.4 寫(xiě)出數(shù)據(jù)fos.write(b, 0 , len);/ 3.關(guān)閉資源fos. ();fis. ();當(dāng)使用字節(jié)流 文本文件時(shí),可能會(huì)有一個(gè)小問(wèn)題。就是遇到中文字符時(shí),可能 顯示完整的字符,那是因?yàn)橐粋€(gè)中文字符可能占用多個(gè)字節(jié) 。所以Java提 字符流類(lèi),以字符為 讀寫(xiě)數(shù)據(jù),專(zhuān)門(mén)用于處理文本文件。2.1 字符輸入流【 er】java.io. er 抽象類(lèi)是表示用于 字符流的所有類(lèi)的超類(lèi),可以 字符 到內(nèi)存中。它定義了字符輸入流的基本共性功能 。pu
12、blic void () :關(guān)閉此流并 與此流相關(guān)聯(lián)的任何系統(tǒng)資源。public int () : 從輸入流 一個(gè)字符。public int (char cbuf) : 從輸入流中 一些字符,并將它們 到字符數(shù)組 cbuf中 。2.2 File er類(lèi)java.io.File er 類(lèi)是 字符文件的便利類(lèi)。構(gòu)造時(shí)使用系統(tǒng)默認(rèn)的字符編碼和默認(rèn)字節(jié)緩沖區(qū)。小貼士:1. 字符編碼:字節(jié)與字符的對(duì)應(yīng)規(guī)則。Windows系統(tǒng)的中文編碼默認(rèn)是GBK編碼表。idea中UTF-82. 字節(jié)緩沖區(qū):一個(gè)字節(jié)數(shù)組,用來(lái)臨時(shí) 字節(jié)數(shù)據(jù)。構(gòu)造File er(File file) : 創(chuàng)建一個(gè)新的 File er ,給
13、定要 的File對(duì)象。File er(String fileName) : 創(chuàng)建一個(gè)新的 File er ,給定要 的文件的名稱(chēng)。當(dāng)你創(chuàng)建一個(gè)流對(duì)象時(shí),必須傳入一個(gè)文件路徑。類(lèi)似于FileInputStream 。構(gòu)造舉例,代碼如下:public class File erConstructor throws IOException public static void main(String args) / 使用File對(duì)象創(chuàng)建流對(duì)象File file = new File(a.txt);File er fr = new File er(file);/ 使用文件名稱(chēng)創(chuàng)建流對(duì)象File er
14、fr = new File er(b.txt);字符數(shù)據(jù)1. 字符:取,代碼使用演示:,每次可以 一個(gè)字符的數(shù)據(jù),提升為int類(lèi)型, 到文件末尾,返回 -1 ,循環(huán)讀public class FR public static void main(String args) throws IOException / 使用文件名稱(chēng)創(chuàng)建流對(duì)象市昌平區(qū)建材城西路 龍辦公樓一層 :File er fr = new File er( .txt);/ 定義變量,保存數(shù)據(jù)int b ;/ 循環(huán)while (b = fr. ()!=1) System.out.println(char)b);/ 關(guān)閉資源fr. (
15、);輸出結(jié)果: 黑馬程序員小貼士:雖然 了一個(gè)字符,但是會(huì)自動(dòng)提升為int類(lèi)型。2. 使用字符數(shù)組 : (char cbuf) ,每次 b的長(zhǎng)度個(gè)字符到數(shù)組中,返回 到的有效字符個(gè)數(shù), 到末尾時(shí),返回 -1 ,代碼使用演示:獲取有效的字符改進(jìn),代碼使用演示:市昌平區(qū)建材城西路 龍辦公樓一層 :public class FIS public static void main(String args) throws IOException / 使用文件名稱(chēng)創(chuàng)建流對(duì)象File er fr = new File er( .txt);/ 定義變量,保存有效字符個(gè)數(shù)int len ;public clas
16、s FR public static void main(String args) throws IOException / 使用文件名稱(chēng)創(chuàng)建流對(duì)象File er fr = new File er( .txt);/ 定義變量,保存有效字符個(gè)數(shù)int len ;/ 定義字符數(shù)組,作為裝字符數(shù)據(jù)的容器char cbuf = new char2;/ 循環(huán)while (len = fr. (cbuf)!=1) System.out.println(new String(cbuf);/ 關(guān)閉資源fr. ();輸出結(jié)果:程序員序2.3 字符輸出流【W(wǎng)riter】 java.io.Writer 抽象類(lèi)是表示
17、用于寫(xiě)出字符流的所有類(lèi)的超類(lèi),將指定的字符 寫(xiě)出到目的地。它定義了字節(jié)輸出流的基本共性功能 。public abstract void () :關(guān)閉此輸出流并 與此流相關(guān)聯(lián)的任何系統(tǒng)資源。 public abstract void flush() :刷新此輸出流并強(qiáng)制任何緩沖的輸出字符被寫(xiě)出。 public void write(int c) :寫(xiě)出一個(gè)字符。 public void write(char cbuf) :將 b.length字符從指定的字符數(shù)組寫(xiě)出此輸出流。 public abstract void write(char b, int off, int len) :從指定的字符
18、數(shù)組寫(xiě)出 len字符,從偏移量o開(kāi)始輸出到此輸出流。 public void write(String str) :寫(xiě)出一個(gè)字符串。2.4 FileWriter類(lèi) java.io.FileWriter 類(lèi)是寫(xiě)出字符到文件的便利類(lèi)。構(gòu)造時(shí)使用系統(tǒng)默認(rèn)的字符編碼和默認(rèn)字節(jié)緩沖區(qū)。構(gòu)造 FileWriter(File file) : 創(chuàng)建一個(gè)新的 FileWriter,給定要 的File對(duì)象。 FileWriter(String fileName) : 創(chuàng)建一個(gè)新的 FileWriter,給定要 的文件的名稱(chēng)。當(dāng)你創(chuàng)建一個(gè)流對(duì)象時(shí),必須傳入一個(gè)文件路徑,類(lèi)似于FileOutputStream。構(gòu)造舉
19、例,代碼如下:市昌平區(qū)建材城西路 龍辦公樓一層 :/ 定義字符數(shù)組,作為裝字符數(shù)據(jù)的容器char cbuf = new char2;/ 循環(huán)while (len = fr. (cbuf)!=1) System.out.println(new String(cbuf,0,len);/ 關(guān)閉資源fr. ();輸出結(jié)果: 程序員基本寫(xiě)出數(shù)據(jù)寫(xiě)出字符: write(int b) ,每次可以寫(xiě)出一個(gè)字符數(shù)據(jù),代碼使用演示:小貼士:1. 雖然參數(shù)為int類(lèi)型四個(gè)字節(jié),但是只會(huì)保留一個(gè)字符的 寫(xiě)出。2. 未調(diào)用關(guān)閉和刷新因?yàn)閮?nèi)置緩沖區(qū)的 ,如果不關(guān)閉輸出流,無(wú)法寫(xiě)出字符到文件中。但是關(guān)閉的流對(duì)象,是無(wú)法繼續(xù)
20、寫(xiě)出數(shù)據(jù)的。如果我們既想寫(xiě)出數(shù)據(jù),又想繼續(xù)使用流,就需要 flush 了。flush :刷新緩沖區(qū),流對(duì)象可以繼續(xù)使用。:關(guān)閉流, 系統(tǒng)資源。關(guān)閉前會(huì)刷新緩沖區(qū)。代碼使用演示:市昌平區(qū)建材城西路 龍辦公樓一層 :public class FWWrite public static void main(String args) throws IOException public class FWWrite public static void main(String args) throws IOException / 使用文件名稱(chēng)創(chuàng)建流對(duì)象FileWriter fw = new FileWri
21、ter(fw.txt);/ 寫(xiě)出數(shù)據(jù)fw.write(97); / 寫(xiě)出第1個(gè)字符fw.write(b); / 寫(xiě)出第2個(gè)字符fw.write(C); / 寫(xiě)出第3個(gè)字符fw.write(30000); / 寫(xiě)出第4個(gè)字符,中文編碼表中30000對(duì)應(yīng)一個(gè)漢字。/*【注意】關(guān)閉資源時(shí),與FileOutputStream不同。如果不關(guān)閉,數(shù)據(jù)只是保存到緩沖區(qū),并未保存到文件。*/ fw. ();輸出結(jié)果:abC田public class FileWriterConstructor public static void main(String args) throws IOException / 使
22、用File對(duì)象創(chuàng)建流對(duì)象File file = new File(a.txt); FileWriter fw = new FileWriter(file);/ 使用文件名稱(chēng)創(chuàng)建流對(duì)象FileWriter fw = new FileWriter(b.txt);小貼士:即便是ush 寫(xiě)出了數(shù)據(jù),操作的最后還是要調(diào)用寫(xiě)出其他數(shù)據(jù)1. 寫(xiě)出字符數(shù)組 : write(char cbuf) 和 write(char cbuf, int off, int len) ,每次可以寫(xiě)出字符數(shù)組中的數(shù)據(jù),用法類(lèi)似FileOutputStream,代碼使用演示:2. 寫(xiě)出字符串: write(String str)
23、和 write(String str, int off, int len) ,每次可以寫(xiě)出字符串中的數(shù)據(jù),更為方便,代碼使用演示:市昌平區(qū)建材城西路 龍辦公樓一層 :public class FWWrite public static void main(String args) throws IOException / 使用文件名稱(chēng)創(chuàng)建流對(duì)象FileWriter fw = new FileWriter(fw.txt);/ 字符串String msg = 程序員;/ 寫(xiě)出字符數(shù)組public class FWWrite public static void main(String args)
24、throws IOException / 使用文件名稱(chēng)創(chuàng)建流對(duì)象FileWriter fw = new FileWriter(fw.txt);/ 字符串轉(zhuǎn)換為字節(jié)數(shù)組char chars = 程序員.toCharArray();/ 寫(xiě)出字符數(shù)組fw.write(chars); / 程序員/ 寫(xiě)出從索引2開(kāi)始,2個(gè)字節(jié)。索引2是程,兩個(gè)字節(jié),也就是程序。fw.write(b,2,2); / 程序/ 關(guān)閉資源fos. ();/ 使用文件名稱(chēng)創(chuàng)建流對(duì)象FileWriter fw = new FileWriter(fw.txt);/ 寫(xiě)出數(shù)據(jù),通過(guò)flush fw.write(刷); / 寫(xiě)出第1個(gè)字
25、符fw.flush();fw.write(新); / 繼續(xù)寫(xiě)出第2個(gè)字符,寫(xiě)出fw.flush();/ 寫(xiě)出數(shù)據(jù),通過(guò)fw.write(關(guān)); / 寫(xiě)出第1個(gè)字符fw. ();fw.write(閉); / 繼續(xù)寫(xiě)出第2個(gè)字符,【報(bào)錯(cuò)】java.io.IOException: Stream d fw. ();3. 續(xù)寫(xiě)和換行:操作類(lèi)似于FileOutputStream。小貼士:字符流,只能操作文本文件,不能操作圖片, 等非文本文件。當(dāng)我們單純讀或者寫(xiě)文本文件時(shí) 使用字符流 其他情況使用字節(jié)流第三章 IO異常的處理JDK7前處理之前的入門(mén)練習(xí), 把異常拋出,而實(shí)際開(kāi)發(fā)中并不能這樣處理,建議使用 t
26、ry.catch.finally 代碼塊,處理異常部分,代碼使用演示:市昌平區(qū)建材城西路 龍辦公樓一層 :public class HandleException1 public static void main(String args) / 變量 FileWriter fw = null; try /創(chuàng)建流對(duì)象fw = new FileWriter(fw.txt);/ 寫(xiě)出數(shù)據(jù)fw.write( 程序員); / 程序員 catch (IOException e) public class FWWrite public static void main(String args) throws
27、IOException / 使用文件名稱(chēng)創(chuàng)建流對(duì)象,可以續(xù)寫(xiě)數(shù)據(jù)FileWriter fw = new FileWriter(fw.txt,true);/ 寫(xiě)出字符串fw.write( );/ 寫(xiě)出換行fw.write(rn);/ 寫(xiě)出字符串fw.write(程序員);/ 關(guān)閉資源fw. ();輸出結(jié)果: 程序員fw.write(msg); / 程序員/ 寫(xiě)出從索引2開(kāi)始,2個(gè)字節(jié)。索引2是程,兩個(gè)字節(jié),也就是程序。fw.write(msg,2,2); / 程序/ 關(guān)閉資源fos. ();JDK7的處理還可以使用JDK7優(yōu)化后的 try-with-resource 語(yǔ)句,該語(yǔ)句確保了每個(gè)資源在
28、語(yǔ)句結(jié)束時(shí)關(guān)閉。所謂的資源(resource)是指在程序完成后,必須關(guān)閉的對(duì)象。格式:代碼使用演示:第四章 屬性集4.1 概述java.util.Properties 繼承于 Hashtable ,來(lái)表示一個(gè)持久的屬性集。它使用鍵值結(jié)構(gòu) 數(shù)據(jù),每個(gè)鍵及其對(duì)應(yīng)值都是一個(gè)字符串。該類(lèi)也被許多Java類(lèi)使用,比如獲取系統(tǒng)屬性時(shí), System.getProperties 就是返回一個(gè) Properties 對(duì)象。4.2 Properties類(lèi)市昌平區(qū)建材城西路 龍辦公樓一層 :public class HandleException2 public static void main(String a
29、rgs) / 創(chuàng)建流對(duì)象try ( FileWriter fw = new FileWriter(fw.txt); ) / 寫(xiě)出數(shù)據(jù)fw.write( 程序員); / 程序員 catch (IOException e) e.printStackTrace();try (創(chuàng)建流對(duì)象語(yǔ)句,如果多個(gè),使用;隔開(kāi)) / 讀寫(xiě)數(shù)據(jù) catch (IOException e) e.printStackTrace();e.printStackTrace(); finally try if (fw != null) fw. (); catch (IOException e) e.printStackTrace
30、();構(gòu)造public Properties() :創(chuàng)建一個(gè)空的屬性列表。基本的: 保存一對(duì)屬性。public Object setProperty(String key, String value)public String getProperty(String key) :使用此屬性列表中指定的鍵搜索屬性值。:所有鍵的名稱(chēng)的集合。public Set stringPropertyNames()public class ProDemo public static void main(String args) throws FileNotFoundException / 創(chuàng)建屬性集對(duì)象Properties properties = new Properties();/ 添加鍵值對(duì)元素properties.setProperty(filename, a.txt); properties.setProperty(length, 209385038); properties.setProperty(location, D:a.txt);/ 打印屬性集對(duì)象System.out.println(properties);/ 通
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 弱電安裝安全協(xié)議書(shū)
- 輕傷承諾免責(zé)協(xié)議書(shū)
- 政府培訓(xùn)協(xié)議書(shū)范文
- 葉酸社區(qū)協(xié)同協(xié)議書(shū)
- 占地補(bǔ)償委托協(xié)議書(shū)
- 學(xué)員免責(zé)協(xié)議書(shū)范本
- 離婚遷回戶(hù)口協(xié)議書(shū)
- 農(nóng)村房產(chǎn)租賃協(xié)議書(shū)
- 琴行合伙分紅協(xié)議書(shū)
- 協(xié)議書(shū)格式以及字體
- 人際交往與人際溝通
- 2018年湖北宜昌中考滿(mǎn)分作文《別樣的長(zhǎng)安情》
- 2024年貴州省高考?xì)v史試卷真題(含答案解析)
- 中小學(xué)教師職業(yè)道德規(guī)范(2023年修訂)全文1500字
- 行政辦事員五級(jí)(初級(jí)工)考試復(fù)習(xí)題及答案
- 2023年國(guó)家藥監(jiān)局藥品審評(píng)中心招聘筆試真題
- 中國(guó)香氛香薰行業(yè)市場(chǎng)需求規(guī)模與投資效益預(yù)測(cè)報(bào)告2024-2030年
- DLT 1051-2019電力技術(shù)監(jiān)督導(dǎo)則
- 2024年工程承包合同書(shū)范文
- 第五單元大單元教學(xué)整體設(shè)計(jì)-2023-2024學(xué)年統(tǒng)編版語(yǔ)文四年級(jí)下冊(cè)
- 《生物安全培訓(xùn)》課件-2024鮮版
評(píng)論
0/150
提交評(píng)論