版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、1,第6章 輸入/輸出流和文件,鄭莉,JAVA語言程序設計,2,內容,輸入/輸出流 I/O 流的概念 I/O流類概述 字符流Reader和 Writer類 二進制數(shù)據(jù)流InputStream和 OutputStream類 系統(tǒng)IO流,文件讀寫 讀文本文件 寫文本文件 讀二進制文件 寫二進制文件 處理壓縮文件 對象序列化 File類,3,Java中的IO,Java語言中沒有標準的IO語句。 采用IO包中的方法實現(xiàn)IO。,IO 流的概念,4,IO 流,輸入流 輸出流,IO 流的概念,5,源和目標的類型,IO 流的概念,6,流的類型,流對象可以是: 輸入流或輸出流 處理流或普通流 面向字符的流或面向
2、字節(jié)的流,IO 流的概念,7,IO 流類概述,8,流的分類,面向字節(jié)的流. 用于一般目的的輸入輸出. 數(shù)據(jù)可以是基本數(shù)據(jù)類型或者原生字節(jié)( raw bytes ) 源和目標通常為文本文件 面向字符的流. 專門用來處理字符數(shù)據(jù). 將Java程序中16位char與外部使用的UTF格式進行轉換。,IO 流類概述,9,字符流,10,內部和外部格式,字符流可以實現(xiàn)Java程序中的內部格式和文本文件中的外部格式之間轉換 內部格式 16-bit char 數(shù)據(jù)類型 外部格式 UTF指:Universal character set Transformation Format。很多人稱之為Universal
3、Text Format 不僅包括ASCII 碼而且包括非ASCII 碼字符,比如: 斯拉夫(Cyrillic)字符, 希臘字符,亞洲字符等。,字 符 流,11,Readers,字 符 流,12,Writers,字 符 流,13,字節(jié)流,14,InputStream,字 節(jié) 流,15,OutputStream,字 節(jié) 流,16,FileInputStream/FileOutputStream,FileInputStream 從文件讀取字節(jié)。 Fileoutputstream 向文件寫入字節(jié)數(shù)據(jù)。,字 節(jié) 流,17,標準 I/O,標準輸入 標準輸出 標準錯誤輸出,18,System IO Stre
4、am,System類中包括一些有用的類成員變量和方法。 System.in 輸入流 System.out 用于輸出普通結果的輸出流。 System.err 用于輸出錯誤信息的輸出流。,標準 I/O,19,從標準輸入流讀取,System.in 是原始InputStream. 首先要經(jīng)過包裝才能從中讀取信息。 import java.io.*; public class Echo public static void main(String args) throws IOException BufferedReader in = new BufferedReader( new InputStrea
5、mReader(System.in); String s; while(s = in.readLine().length() != 0) System.out.println(s); ,標準 I/O,20,BufferedReader,import java.io.*; class Echo public static void main (String args) throws IOException InputStreamReader inStream = new InputStreamReader( System.in ) ; BufferedReader stdin = new Buf
6、feredReader( inStream ); System.out.println(Enter the data:); String inData = stdin.readLine(); System.out.println(You entered: + inData ); ,標準 I/O,21,流的處理,用一行表達式實現(xiàn): BufferedReader stdin = new BufferedReader( new InputStreamReader( System.in ) );,標準 I/O,22,將System.out 轉換成 PrintWriter,import java.io.
7、*; public class ChangeSystemOut public static void main(String args) PrintWriter out = new PrintWriter(System.out, true); out.println(Hello, world); ,標準 I/O,23,PrintWriter,System.out 是一個 PrintStream。 PrintWriter將對象的格式化表示形式輸出到文本輸出流。 這個類實現(xiàn)了PrintStream 具有的所有輸出方法,但是與PrintStream 類不同,如果automatic flushing為
8、真,只有當調用 println() 時緩沖區(qū)才被寫并清空,不像PrintStream 遇到換行符便清空緩沖區(qū)。 println() 方法是用平臺自己的換行標記,而不是換行符。,標準 I/O,24,標準I/O 重導向(Redirecting),setIn(InputStream) setOut(PrintStream) setErr(PrintStream),標準 I/O,import java.io.*; public class Redirecting public static void main(String args) throws IOException BufferedInputS
9、tream in = new BufferedInputStream( new FileInputStream( Redirecting.java); PrintStream out = new PrintStream( new BufferedOutputStream( new FileOutputStream(test.out); System.setIn(in); System.setOut(out); System.setErr(out);,BufferedReader br = new BufferedReader( new InputStreamReader(System.in);
10、 String s; while(s = br.readLine() != null) System.out.println(s); out.close(); / Remember this! ,27,過濾流 (filter stream),從流讀寫數(shù)據(jù)的同時對數(shù)據(jù)進行處理。 基于另一個流來構造過濾流。,28,使用過濾流,構造過濾流時,把它連接到另一個輸入(或輸出)流上: BufferedReader d = new BufferedReader(new DataInputStream(System.in);,29,例子輸入整數(shù),import java.io.*; class EchoSqua
11、re public static void main (String args) throws IOException BufferedReader stdin = new BufferedReader ( new InputStreamReader( System.in ) ); System.out.println(Enter an integer:); String inData = stdin.readLine(); int num = Integer.parseInt( inData ); / convert inData to int / =(new Integer(in.read
12、Line().intValue(); int square = num * num ; / compute the square System.out.println(The square of + inData + is + square ); ,30,對象流,ObjectInputStream 從來源(source)讀取一個對象. ObjectOutputStream 把對象寫到磁盤.,31,寫文本文件,FileWriter類 創(chuàng)建一個磁盤文件 關閉一個磁盤文件 write() 方法 捕獲 IO 異常 BufferedWriter 類,32,Writer,33,FileWriter 流舉例
13、,import java.io.*; /ex6_1 class WriteTextFile public static void main ( String args ) throws IOException String fileName = reaper.txt ; FileWriter writer = new FileWriter( fileName ); writer.write( Behold her, single in the field,n); writer.write( Yon solitary Highland Lass!n ); writer.write( Reapin
14、g and singing by herself;n ); writer.write( Stop here, or gently pass!n ); writer.close(); ,34,字符集轉換,35,FileWriter 的構造方法,public static void main ( String args ) throws IOException String fileName = reaper.txt ; FileWriter writer = new FileWriter( fileName ); Constructor: FileWriter(String fileName)
15、FileWriter(String fileName, boolean append),36,IOExceptions,多數(shù)IO方法在遇到錯誤時拋出異常,調用這些方法的方法必須作如下事情: 在函數(shù)頭聲明拋出IOException異常 在try塊中執(zhí)行IO,然后捕獲IOException,37,舉例,import java.io.*; /ex6_2 class WriteTextFile2 public static void main ( String args ) String fileName = reaper.txt ; try FileWriter writer = new FileW
16、riter( fileName, true ); writer.write( Alone she cuts and binds the grain,n ); writer.write( And sings a melancholy strain;n ); writer.write( O listen! for the Vale profoundn ); writer.write( Is overflowing with the sound.nn ); writer.close(); catch ( IOException iox ) System.out.println(Problem wri
17、ting + fileName ); ,38,BufferedWriter 流,一種更有效的方式 BufferedWriter out = new BufferedWriter(new FileWriter(stuff.txt); BufferedWriter除與FileWriter有同樣的方法外,還增加了一個方法: newLine()不同廠家生產的計算機 (IBM, Apple, VAX, Sun) 對文字的換行方法不同。newLine()方法可以輸出在當前計算機上正確的換行符。,39,更新后的例子,import java.io.*; /ex6_3 class WriteTextFile3
18、public static void main ( String args ) String fileName = reaper.txt ; try BufferedWriter out = new BufferedWriter( new FileWriter( fileName ) ); out.write( No Nightingale did ever chaunt ); out.newLine() ; out.write( More welcome notes to weary bands ); out.newLine() ; out.write( Of travellers in s
19、ome shady haunt, ); out.newLine() ; out.write( Among Arabian sands. ); out.newLine() ; out.close(); catch ( IOException iox ) System.out.println(Problem writing + fileName ); ,40,讀文本文件,Reader FileReader 和 BufferedReader readLine() 文本文件復制,41,Reader 流,42,FileReader 和 BufferedReader,我們熟悉的,用于鍵盤輸入的方法: Bu
20、fferedReader stdin = new BufferedReader(new InputStreamReader( System.in ); 文件輸入方法: BufferedReader in = new BufferedReader(new FileReader( fileName ) );,43,舉例,import java.io.*; class ex6_4 public static void main ( String args ) String fileName = reaper.txt ; String line;,try BufferedReader in = new
21、 BufferedReader(new FileReader( fileName ) ); line = in.readLine(); while ( line != null ) / continue until end of file System.out.println( line ); line = in.readLine(); in.close(); catch ( IOException iox ) System.out.println(Problem reading + fileName ); ,45,文本文件復制程序,java copy sourceFile destinati
22、onFile,46,完整的程序,import java.io.*; /ex6_5 class CopyMaker String sourceName, destName; BufferedReader source; BufferedWriter dest; String line;,private boolean openFiles() try source = new BufferedReader(new FileReader( sourceName ); catch ( IOException iox ) System.out.println(Problem opening + sour
23、ceName ); return false; try dest = new BufferedWriter(new FileWriter( destName ); catch ( IOException iox ) System.out.println(Problem opening + destName ); return false; return true; ,private boolean copyFiles() try line = source.readLine(); while ( line != null ) dest.write(line); dest.newLine();
24、line = source.readLine(); catch ( IOException iox ) System.out.println(Problem reading or writing ); return false; return true; ,private boolean closeFiles() boolean retVal=true; try source.close(); catch ( IOException iox ) System.out.println(Problem closing + sourceName ); retVal = false; try dest
25、.close(); catch ( IOException iox ) System.out.println(Problem closing + destName ); retVal = false; return retVal; ,public boolean copy(String src, String dst ) sourceName = src ; destName = dst ; return openFiles() ,51,寫二進制文件,二進制文件 OutputStream FileOutputStream BufferedOutputStream DataOutputStrea
26、m writeInt() writeDouble() writeBytes() Hexadecimal file dumps.,52,二進制文件,原則上講,所有文件都是由8位的字節(jié)組成的 如果文件字節(jié)中的內容應被解釋為字符,則文件被稱為文本文件;如果被解釋為其它含義,則文件被稱為二進制文件。 文字處理程序產生的文件中,數(shù)據(jù)要被解釋為字體、格式、圖形和其他非字符信息。因此,這樣的文件是二進制文件,不能用Reader流正確讀取。,53,OutputStream,OutputStream是一個抽象類。 FileOutputStream是OutputStream的派生類 用于一般目的輸出(非字符輸出)
27、 用于成組字節(jié)輸出 對于基本數(shù)據(jù)類型,在各平臺上輸出的格式是相同的,二進制文件中的數(shù)據(jù)可以被運行在任何平臺上的Java程序正確讀取,54,舉例,import java.io.*; /ex6_6 class WriteInts public static void main ( String args ) String fileName = intData.dat ; int value0 = 0, value1 = 1, value255 = 255, valueM1 = -1;,try /將FileOutputStream與DataOuputStream連接 /可以輸出不同類型的數(shù)據(jù) Dat
28、aOutputStream out = new DataOutputStream(new FileOutputStream( fileName ) ); out.writeInt( value0 ); out.writeInt( value1 ); out.writeInt( value255 ); out.writeInt( valueM1 ); out.close(); catch ( IOException iox ) System.out.println(Problem writing + fileName ); ,56,BufferedOutputStream,DataOutputS
29、tream out = new DataOutputStream( new BufferedOutputStream( new FileOutputStream( fileName ) ) );,57,writeDouble(),import java.io.*; /ex6_7 class WriteDoubles public static void main ( String args ) throws IOException String fileName = doubleData.dat ; DataOutputStream out = new DataOutputStream( ne
30、w BufferedOutputStream( new FileOutputStream( fileName ) ) ); out.writeDouble( 0.0 ); out.writeDouble( 1.0 ); out.writeDouble( 255.0 ); out.writeDouble( -1.0 ); out.close(); ,58,DataOutputStream,DataOutputStream 用于基本類型的數(shù)據(jù)字節(jié) 它將數(shù)據(jù)寫到另一個輸出流。 它在所有的計算機平臺上使用同樣的數(shù)據(jù)格式,59,DataOutputStream 方法,public DataOutputS
31、tream(OutputStream out) public void flush() public final int size() public void write(int b) public final void writeBoolean(boolean b) public final void writeByte(int b) public void writeBytes(String s) public final void writeChar(int c) public void writeDouble(double v) public void writeFloat(float
32、 f) public void writeInt(int i) public void writeLong(long l) public final void writeShort(int s),60,字節(jié)計數(shù)器,import java.io.*; /ex6_8 class ByteCounter public static void main ( String args ) throws IOException String fileName = mixedTypes.dat ; DataOutputStream dataOut = new DataOutputStream( new Buf
33、feredOutputStream( new FileOutputStream( fileName ) ) ); dataOut.writeInt( 0 ); System.out.println( dataOut.size() + bytes have been written.); dataOut.writeDouble( 12.45 ); /dataOut.size() 返回到目前寫入的總字節(jié)數(shù) System.out.println( dataOut.size() + bytes have been written.); dataOut.close(); ,61,原始字節(jié),dataOut
34、.writeInt( 0 ); dataOut.writeDouble( 12.45 ); 寫的數(shù)據(jù)是字節(jié)流,數(shù)據(jù)之間沒有空隙或標記。程序應該知道寫的是什么,將來才好利用。,62,讀二進制文件,讀二進制文件 二進制文件的優(yōu)點 FileInputSteam FilterInputStream DataInputSteam BufferedInputSteam 讀寫整數(shù) 讀寫單字節(jié),63,InputStream,64,為什么需要二進制文件,輸入輸出更快 比文本文件小很多 有些數(shù)據(jù)不容易被表示為字符,65,readInt(),import java.io.*; class ReadInts publ
35、ic static void main ( String args ) String fileName = intData.dat ; long sum = 0; try DataInputStream instr = new DataInputStream( new BufferedInputStream(new FileInputStream( fileName ) ) ); sum += instr.readInt(); sum += instr.readInt(); sum += instr.readInt(); sum += instr.readInt(); System.out.p
36、rintln( The sum is: + sum ); instr.close(); catch ( IOException iox ) System.out.println(Problem reading + fileName ); ,66,持續(xù)讀取,直到遇到 EOF,try while ( true ) sum += instr.readInt(); catch ( EOFException eof ) System.out.println( The sum is: + sum ); instr.close(); ,67,另一個意外,try while ( true ) sum += i
37、nstr.readInt(); catch ( EOFException eof ) System.out.println( The sum is: + sum ); instr.close(); catch ( IOException iox ) System.out.println( Problem reading input ); instr.close(); ,68,catch 塊拋出的異常,try while ( true ) sum += instr.readInt(); catch ( EOFException eof ) System.out.println( The sum
38、is: + sum ); instr.close(); / - throws IOException catch ( IOException iox )/ - this catch is for the try block /not for the previous catch block System.out.println( Problem reading input ); instr.close(); / - throws IOException ,69,嵌套的 try 塊,try / other stuff goes here try while ( true ) sum += ins
39、tr.readInt(); catch ( EOFException eof ) System.out.println( The sum is: + sum ); instr.close(); catch ( IOException iox ) System.out.println( IO Problems with + fileName ); ,import java.io.*; class ReadIntEOF public static void main ( String args ) String fileName = ints.dat ; long sum = 0; try Dat
40、aInputStream instr = new DataInputStream( new BufferedInputStream(new FileInputStream(fileName); try while ( true ) sum += instr.readInt(); catch ( EOFException eof ) System.out.println( The sum is: + sum ); instr.close(); catch ( IOException iox ) System.out.println(IO Problems with + fileName ); ,
41、完整的程序,71,讀寫字節(jié),DataOutputStream: public final void writeByte(int b) throws IOException /將int的最不重要字節(jié)寫入輸出流 DataInputStream: public final int readUnsignedByte() throws IOException /從輸入流中讀取1字節(jié)存入int的最不重要字節(jié),72,文件復制程序,DataInputStream instr; DataOutputStream outstr; /. . . . try int data; while ( true ) data
42、 = instr.readUnsignedByte() ; outstr.writeByte( data ) ; catch ( EOFException eof ) outstr.close(); instr.close(); return; ,73,緩沖,DataInputStream instr; DataOutputStream outstr; /. . . . instr = new DataInputStream(new BufferedInputStream( new FileInputStream( args0 ); outstr = new DataOutputStream(
43、new BufferedOutputStream( new FileOutputStream( args1 ); try int data; while ( true ) data = instr.readUnsignedByte() ; outstr.writeByte( data ) ; catch ( EOFException eof ) outstr.close(); instr.close(); return; ,74,處理打開文件異常,DataInputStream instr; DataOutputStream outstr; /. . . . try instr = new D
44、ataInputStream( new BufferedInputStream( new FileInputStream( args0 ); outstr = new DataOutputStream( new BufferedOutputStream( new FileOutputStream( args1 ); try int data; while ( true ) data = instr.readUnsignedByte(); outstr.writeByte( data ); catch ( EOFException eof ) outstr.close(); instr.clos
45、e(); return; ,75,import java.io.*; /ex6_10 class CopyBytes public static void main ( String args ) DataInputStream instr; DataOutputStream outstr; if ( args.length != 2 ) System.out.println(Please enter file names); return; ,完整的程序,try instr = new DataInputStream(new BufferedInputStream( new FileInpu
46、tStream( args0 ); outstr = new DataOutputStream(new BufferedOutputStream( new FileOutputStream( args1 ); try int data; while ( true ) data = instr.readUnsignedByte() ; outstr.writeByte( data ) ; catch ( EOFException eof ) outstr.close(); instr.close(); return; catch ( FileNotFoundException nfx ) Sys
47、tem.out.println(Problem opening files ); catch ( IOException iox ) System.out.println(IO Problems ); ,77,File 類,類 File. 構造器和方法. 路徑名. 檢查一個文件是否存在. 使用帶有流構造器的File對象。,78,File 對象,包含文件或目錄的相關信息。 它作為程序和操作系統(tǒng)文件處理功能之間的接口。,79,File 構造器,File( String pathName ) 為名稱為pathName的文件構造一個File對象。,80,File 對象和文件,import java.i
48、o.*; class testExist /ex6_11 public static void main ( String args ) String pathName = notLikely.txt ; File test = new File( pathName ); if ( test.exists() ) System.out.println( The file + pathName + exists. ); else System.out.println ( The file + pathName + Does Not exist. ); ,81,改進的文件復制程序,import j
49、ava.io.*; /ex6_12 class CopyBytes public static void main ( String args ) DataInputStream instr; DataOutputStream outstr; if ( args.length != 2 ) System.out.println(Please Enter file names!); return; File inFile = new File( args0 ); File outFile = new File( args1 ); if ( outFile.exists() ) System.ou
50、t.println( args1 + already exists); return; if ( !inFile.exists() ) System.out.println( args0 + does not exist); return; ,try instr = new DataInputStream(new BufferedInputStream( new FileInputStream( inFile ); outstr = new DataOutputStream(new BufferedOutputStream( new FileOutputStream( outFile ); t
51、ry int data; while ( true ) data = instr.readUnsignedByte() ; outstr.writeByte( data ) ; catch ( EOFException eof ) outstr.close(); instr.close(); return; catch ( FileNotFoundException nfx ) System.out.println(Problem opening files ); catch ( IOException iox ) System.out.println(IO Problems ); ,83,串
52、連文件,利用SequenceInputStream 類,從多個輸入源建立一個輸入流。 構造函數(shù)原型 SequenceInputStream(Enumeration e) 參數(shù)e必須是集合類型,集合中產生的元素必須是InputStream類型。 SequenceInputStream(InputStream s1, InputStream s2),84,舉例,利用SequenceInputStream 實現(xiàn)文件串連功能:按照命令行參數(shù)中所列的次序將文件連接在一起。,import java.io.*; public class Concatenate public static void main
53、(String args) throws IOException ListOfFiles mylist = new ListOfFiles(args); SequenceInputStream s = new SequenceInputStream(mylist); int c; while (c = s.read() != -1) /一個文件結束時,會調用mylist. nextElement()打開下一文件 System.out.write(c); s.close(); ,import java.util.*; import java.io.*; public class ListOfFi
54、les implements Enumeration private String listOfFiles; private int current = 0; public ListOfFiles(String listOfFiles) this.listOfFiles = listOfFiles; public boolean hasMoreElements() if (current listOfFiles.length) return true; else return false; ,public Object nextElement() InputStream in = null;
55、if (!hasMoreElements() throw new NoSuchElementException(No more files.); else String nextElement = listOfFilescurrent; current+; try in = new FileInputStream(nextElement); catch (FileNotFoundException e) System.err.println(ListOfFiles: Cant open + nextElement); return in; ,88,過濾流,讀或寫的同時對數(shù)據(jù)進行處理。 通過另外
56、一個流來構造一個過濾流。 大部分java.io 包所提供過濾流都是的FilterInputStream和FilterOutputStream的子類。,89,FilterInputStream 和 FilterOutputStream的子類,DataInputStream 和 DataOutputStream BufferedInputStream 和 BufferedOutputStream LineNumberInputStream PushbackInputStream PrintStream,90,使用過濾流,建立過濾流的同時要在它和其他的輸入或輸出流之間建立連接,也就是把其他流“捆綁”
57、到過濾流上。例如: BufferedReader d = new BufferedReader(new DataInputStream(System.in); String input; while (input = d.readLine() != null) . /在此進行所需的數(shù)據(jù)處理 ,91,使用 DataInputStream 和 DataOutputStream,例子: DataIODemo 讀寫下面的列表數(shù)據(jù): 19.9912Java T-shirt 9.998Java Mug 第一步 使DataOutputStream 和另一個輸出流建立連接: DataOutputStream out = new DataOutputStream( new FileOutputStream(invoice1.txt);,第二步: 根據(jù)上面的格式,用DataOutputStream專門的write方法將上述發(fā)票數(shù)據(jù)寫到invoice1.txt。 for (int i = 0; i prices.length; i +) out.writeDouble(pricesi); out.writeChar(t); out.writeInt(unitsi); out.writeChar(t); out.writeCh
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年泵類考試題庫200道【完整版】
- 2026年數(shù)字化管理專家認證題庫200道及參考答案【培優(yōu)a卷】
- 2025-2030文化創(chuàng)意產品開發(fā)分析及慈善公益營銷策略規(guī)劃設計報告
- 2025-2030文化創(chuàng)意產業(yè)政策深度研究及文化產業(yè)與城市品牌營銷分析報告
- 2025-2030文化創(chuàng)意產業(yè)孵化基地行業(yè)市場供需分析及投資評估規(guī)劃分析研究報告
- 2025-2030挪威船舶制造行業(yè)市場供需現(xiàn)狀競爭格局分析投資評估發(fā)展策略報告
- 2025-2030挪威海洋資源開發(fā)行業(yè)市場潛力與投資布局及發(fā)展前景研究報告
- 2025-2030挪威海洋漁業(yè)資源開發(fā)行業(yè)市場現(xiàn)狀評估及可持續(xù)發(fā)展規(guī)劃
- 2025-2030挪威海洋工程裝備市場機遇與風險評估及投資策略研究
- 2025-2030我國鋼鐵行業(yè)工業(yè)互聯(lián)網(wǎng)深度應用研究與智能制造工廠評估體系規(guī)范
- 2025年全國高壓電工操作證理論考試題庫(含答案)
- 2025-2026學年(通*用版)高二上學期期末測試【英語】試卷(含聽力音頻、答案)
- 翻車機工操作技能水平考核試卷含答案
- 2025年中職食品雕刻(食品雕刻技術)試題及答案
- 2026青海西寧市湟源縣水務發(fā)展(集團)有限責任公司招聘8人考試參考試題及答案解析
- 舞臺燈光音響控制系統(tǒng)及視頻顯示系統(tǒng)安裝施工方案
- 2025年大學(運動康復)運動康復治療技術測試試題及答案
- 1256《數(shù)據(jù)庫應用技術》國家開放大學期末考試題庫
- 美容院店長年度總結課件
- (2025年)昆山杜克大學ai面試真題附答案
- 污水處理設施運維服務投標方案(技術標)
評論
0/150
提交評論