![Java程序設(shè)計課件項目6Java的IO流和文件_第1頁](http://file4.renrendoc.com/view11/M03/1F/01/wKhkGWWCzRqAWZzdAADpNMZklok214.jpg)
![Java程序設(shè)計課件項目6Java的IO流和文件_第2頁](http://file4.renrendoc.com/view11/M03/1F/01/wKhkGWWCzRqAWZzdAADpNMZklok2142.jpg)
![Java程序設(shè)計課件項目6Java的IO流和文件_第3頁](http://file4.renrendoc.com/view11/M03/1F/01/wKhkGWWCzRqAWZzdAADpNMZklok2143.jpg)
![Java程序設(shè)計課件項目6Java的IO流和文件_第4頁](http://file4.renrendoc.com/view11/M03/1F/01/wKhkGWWCzRqAWZzdAADpNMZklok2144.jpg)
![Java程序設(shè)計課件項目6Java的IO流和文件_第5頁](http://file4.renrendoc.com/view11/M03/1F/01/wKhkGWWCzRqAWZzdAADpNMZklok2145.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Java程序設(shè)計
項目6Java的I/O流和文件主要內(nèi)容:一、I/O流類簡介二、File類四、隨機訪問流三、字節(jié)類與字符流五、其他流在Java語言中程序所完成的輸入和輸出操作是以流的形式來實現(xiàn)的。所謂流,是指在計算機的輸入與輸出之間運動的數(shù)據(jù)序列。流序列中的數(shù)據(jù)既可以是未加工的原始的二進(jìn)制數(shù)據(jù),也可以是經(jīng)過一定編碼處理后符合某種格式規(guī)定的特定數(shù)據(jù)。Java程序的輸入/輸出操作主要針對三種不同的類型:(1)控制臺,指的是屏幕輸出(在Windows系統(tǒng)下指的是DOS窗口)和鍵盤輸入;(2)文件,針對磁盤文件的讀/寫操作;(3)網(wǎng)絡(luò),通過網(wǎng)絡(luò)套接字所實現(xiàn)的數(shù)據(jù)訪問。任務(wù)1I/O流類簡介1、流的基本概念有了流,程序和外界的數(shù)據(jù)交換都可通過流實現(xiàn)。當(dāng)程序要從數(shù)據(jù)源獲得數(shù)據(jù)時,必須在程序和數(shù)據(jù)源之間建立輸入流(如圖6-1所示);當(dāng)程序要把結(jié)果輸送到數(shù)據(jù)宿時,必須在程序和數(shù)據(jù)宿之間建立輸出流(如圖6-2所示)。任務(wù)1I/O流類簡介圖6-1輸入流的圖示圖6-2輸出流的圖示流按照處理數(shù)據(jù)的單位,可以分為字節(jié)流和字符流。字節(jié)流的處理單位是字節(jié),通常用來處理二進(jìn)制文件。而字符流的處理單位是字符,因為Java采用Unicode編碼,Java字符流處理的即為Unicode字符。在Java語言中數(shù)據(jù)的輸入輸出處理都通過對數(shù)據(jù)流的操作來完成,完成這些操作的類都定義在java.io包中。圖6-3所示是java.io包中提供的一些處理數(shù)據(jù)流和文件的類,它們都是Object類的直接子類。任務(wù)1I/O流類簡介2、常用輸入輸出類圖6-3常用的Java輸入輸出類層次結(jié)構(gòu)Java提供了三種構(gòu)造方法來創(chuàng)建一個文件對象?!馞ile(Stringpath):字符串參數(shù)path指明了新創(chuàng)建的File對象對應(yīng)的磁盤文件或目錄名及其路徑名?!馞ile(Stringpath,Stringname):第一個參數(shù)path表示所對應(yīng)的文件或目錄的絕對或相對路徑,第二個參數(shù)name表示文件或目錄名?!馞ile(Filedir,Stringname):這種構(gòu)造方法使用另一個已經(jīng)存在的代表某磁盤目錄的File對象作為第一個參數(shù),表示文件或目錄的路徑,第二個字符串參數(shù)表述文件或目錄名。
任務(wù)2File類1、文件對象創(chuàng)建例6.1創(chuàng)建文件對象。
importjava.io.*;publicclassFileCreate{ publicstaticvoidmain(String[]args) { Filef1=newFile("d:\\java\\FileDemo.java"); Filef2=newFile("d:\\java\\"); Filef3=newFile(f2,"FileDemo1.java"); System.out.println(f1); System.out.println(f3); try{ f1.createNewFile(); f3.createNewFile(); } catch(IOExceptione){} }}程序運行結(jié)果為:d:\java\FileDemo.javad:\java\FileDemo1.java任務(wù)2File類File對象獲得該文件或目錄的屬性的常用的方法見下表。任務(wù)2File類2、文件和目錄屬性例6.2獲取文件和目錄的屬性。
importjava.io.*;classFileDemo{staticvoidp(Strings){System.out.println(s);}publicstaticvoidmain(Stringargs[]){ Filef1=newFile("/java/COPYRIGHT"); try{f1.createNewFile();} catch(IOExceptione){} p("FileName:"+f1.getName());//獲取文件名
p("Path:"+f1.getPath());//獲取文件相對路徑
p("AbsPath:"+f1.getAbsolutePath());//獲取文件的絕對路徑
p("Parent:"+f1.getParent());//獲取文件的雙親路徑
p(f1.exists()?"exists":"doesnotexist");//文件是否存在
p(f1.canWrite()?"iswriteable":"isnotwriteable");//文件是否科協(xié)
p(f1.canRead()?"isreadable":"isnotreadable");//文件是否可讀
p("is"+(f1.isDirectory()?"":"not"+"adirectory"));//該對象是否是目錄任務(wù)2File類p(f1.isFile()?"isnormalfile":"mightbeanamedpipe");//該對象是否是文件
p(f1.isAbsolute()?"isabsolute":"isnotabsolute");//文件路徑是否是絕對路徑
p("Filelastmodified:"+f1.lastModified());//文件最后修改的時間
p("Filesize:"+f1.length()+"Bytes");//文件的大小
}}程序運行結(jié)果為:FileName:COPYRIGHTPath:\java\COPYRIGHTAbsPath:D:\java\COPYRIGHTParent:\javaexistsiswriteableisreadableisnotadirectoryisnormalfileisnotabsoluteFilelastmodified:1470278407436Filesize:0Bytes任務(wù)2File類常用的有如下幾種?!駊ublicbooleanrenameTo(FilenewFile):將文件重命名成newFile對應(yīng)的文件名。●publicvoiddelete():將當(dāng)前文件刪除?!駊ublicbooleanmkdir():創(chuàng)建當(dāng)前目錄的子目錄。●publicString[]list():用字符串形式返回目錄下的全部文件?!駊ublicFile[]listFiles():用File對象形式返回目錄下的全部文件。●publicString[]list(FilenameFilterobj):用字符串形式返回目錄下由obj指定類型的所有文件?!駊ublicFile[]listFiles(FilenameFilterobj):用File對象返回目錄下由obj指定類型的所有文件。任務(wù)2File類3、文件和目錄操作例6.4列出c:\java目錄下的所有java文件。
importjava.io.*;classFileAcceptimplementsFilenameFilter{Stringstr=null;FileAccept(Strings){str="."+s; }publicbooleanaccept(Filepath,Stringname){
returnname.endsWith(str);}}publicclassFileDemo2{publicstaticvoidmain(String[]args){ Filepath=newFile("c:\\java"); FileAcceptacceptMode=newFileAccept("java"); Stringfilelist[]=path.list(acceptMode);
System.out.println("目錄下有"+filelist.length+"個文件"); for(inti=0;i<filelist.length;i++){ System.out.println(filelist[i]);//循環(huán)輸出指定目錄下滿足條件的所有文件
}}}任務(wù)2File類程序運行結(jié)果為:目錄下有6個文件FileCreate.javaFileDemo.javaFileDemo1.javaFileDemo2.javaFindDups.javaFrequency.java任務(wù)2File類4、可執(zhí)行文件運行當(dāng)要執(zhí)行一個本地機器上的可執(zhí)行文件時,可以使用java.lang包中的Runtime類。首先使用Runtime類聲明一個對象,然后使用該類的靜態(tài)方法getRuntime()創(chuàng)建這個對象。例如:Runtimeex;ex=Runtime.getRuntime();ex可以調(diào)用exec(Stringcommand)方法打開本地可執(zhí)行文件或執(zhí)行一個操作。在Java語言中,字節(jié)流類用兩個類層次定義,在頂層的是兩個抽象類:InputStream(字節(jié)輸入流)和OutputStream(字節(jié)輸出流)。①InputStrem類和OutputStream類InputStream類中定義了與字節(jié)輸入流操作有關(guān)的方法,可以完成從輸入流中讀取數(shù)據(jù)的功能,其主要方法如下表所示。任務(wù)3字節(jié)流與字符流1、字節(jié)流
OutputStream類中定義了與字節(jié)輸出流操作有關(guān)的方法,可以完成向輸入流中寫入數(shù)據(jù)的功能,其主要方法如下表所示。任務(wù)3字節(jié)流與字符流①FileInputStream類和FileOutputStream類FileInputStream和FileOutputStream類分別繼承了InputStream和OutputStream類,它們實現(xiàn)了父類中的所有抽象方法,通過這兩個類可以打開本地文件,對文件內(nèi)容進(jìn)行順序的讀寫?!駊ublicFileInputStream(Stringname)按字符串參數(shù)所指定的文件名來創(chuàng)建一個文件輸入流對象。●publicFileInputStream(Filefile)以一個File對象來構(gòu)造文件輸入流對象,該File對象表示一個文件?!駊ublicFileOutputStream(Stringname)通過字符串變量來創(chuàng)建一個文件輸出流?!駊ublicFileOutputStream(Stringname,booleanappend)通過字符串變量來創(chuàng)建一個文件輸出流。如果第二個參數(shù)為true,則將字節(jié)寫入文件末尾處,否則寫入文件開始處。任務(wù)3字節(jié)流與字符流●publicFileOutputStream(Filefile)通過File對象來創(chuàng)建一個文件輸出流?!駊ublicFileOutputStream(Filefile,booleanappend)通過File對象來創(chuàng)建一個文件輸出流。如果第二個參數(shù)為true,則將字節(jié)寫入文件末尾處,否則寫入文件開始處。例6.7在程序中創(chuàng)建一個文件,寫入從鍵盤輸入的一串字符,然后再讀該文件并將文件內(nèi)容顯示在屏幕上。
importjava.io.*;classFileInOutDemo{publicstaticvoidmain(String[]args){ FileInputStreamfin;//聲明文件輸入流對象fin FileOutputStreamfout;//聲明文件輸出流對象fout charch;intdata; try{ fin=newFileInputStream(FileDescriptor.in); fout=newFileOutputStream("d:\\JAVA\\myfile.txt"); System.out.println("請輸入一串字符,并以#結(jié)束:"); while((ch=(char)fin.read())!='#') fout.write(ch);任務(wù)3字節(jié)流與字符流 fin.close(); fout.close(); System.out.println(); fin=newFileInputStream("d:\\JAVA\\myfile.txt"); fout=newFileOutputStream(FileDescriptor.out); while(fin.available()>0){ data=fin.read(); fout.write(data); } fin.close(); fout.close(); } catch(FileNotFoundExceptione){ System.out.println("文件沒有找到!"); } catch(IOExceptione){}}}任務(wù)3字節(jié)流與字符流程序運行結(jié)果:D:\java>javaFileInOutDemo請輸入一串字符,并以#結(jié)束:wreeo789890xcvbndfgner#
wreeo789890xcvbndfgner①Reader類和Writer類Reader和Writer類也是兩個抽象類,僅僅提供了一些用于字符流處理的方法,本身不能用來生成實例。Reader類中用的是以字符為單位,其主要方法如下表所示。任務(wù)3字節(jié)流與字符流2、字符流Writer類是輸出字符數(shù)據(jù)時需要使用的類,與字節(jié)輸出流OutputStream類相似,主要差別是前者輸出的是字符,后者輸出的是字節(jié),其主要方法如下表所示。任務(wù)3字節(jié)流與字符流②FileReader類和FileWriter類
FileReader類常用的構(gòu)造方法定義如下:●publicFileReader(StringfileName)
按字符串參數(shù)所指定的文件名來創(chuàng)建一個文件輸入流對象?!駊ublicFileReader(Filefile)按參數(shù)中的File對象來構(gòu)造文件輸入流對象。FileWirter類構(gòu)造方法如下:●publicFileWriter(Filefile):用參數(shù)中的File對象創(chuàng)建一個文件輸出流?!駊ublicFileWriter(Filefile,booleanappend)用參數(shù)中的File對象創(chuàng)建一個文件輸出流。如果第二個參數(shù)為true,則寫入的數(shù)據(jù)流添加到文件后面,否則將文件覆蓋?!駊ublicFileWriter(StringfileName)用參數(shù)中的字符串變量來創(chuàng)建一個文件輸出流。●publicFileWriter(Stringfilename,booleanappend)用參數(shù)中的字符串變量來創(chuàng)建一個文件輸出流。如果第二個參數(shù)為true,則寫入的數(shù)據(jù)流添加到文件后面,否則將文件覆蓋。任務(wù)3字節(jié)流與字符流例6.8利用FileReader類讀取純文本文件。
importjava.io.*;publicclassFileReadDemo{publicstaticvoidmain(String[]args)throwsIOException{ char[]c=newchar[500];//創(chuàng)建可容納500個字符的數(shù)組
FileReaderfr=newFileReader("d:\\JAVA\\myfile.txt");//創(chuàng)建對象fr intnum=fr.read(c);//將數(shù)據(jù)讀入字符數(shù)組c內(nèi),并返回讀取的字符數(shù)
Stringstr=newString(c,0,num);//將字符串?dāng)?shù)組轉(zhuǎn)換成字符串
System.out.println("讀取的字符個數(shù)為:"+num+",其內(nèi)容如下:"); System.out.println(str);}}程序運行結(jié)果:讀取的字符個數(shù)為:22,其內(nèi)容如下:wreeo789890xcvbndfgner任務(wù)3字節(jié)流與字符流例6.9利用FileWriter類將字符數(shù)組與字符串寫到文件里。
importjava.io.*;publicclassFileWriterDemo{publicstaticvoidmain(String[]args)throwsIOException{ FileWriterfw=newFileWriter("d:\\JAVA\\test.txt"); char[]c={'H','e','l','l','o','\r','\n'}; Stringstr="歡迎使用Java!"; fw.write(c);//將字符數(shù)組寫到文件里
fw.write(str);//將字符串寫到文件里
fw.close();}}程序運行結(jié)果是在“d:\java”文件夾下生成了test.txt文件,其內(nèi)容為:Hello歡迎使用Java!任務(wù)3字節(jié)流與字符流任務(wù)4隨機訪問流1、RandomAccessFile類前面我們談到的字節(jié)流和字符流都是對磁盤文件的順序讀寫,而且為了讀和寫必須分別創(chuàng)建不同的對象。為了能實現(xiàn)對文件的隨機讀寫,Java語言定義了隨機訪問流RandomAccessFile類。①RandomAccessFile對象的創(chuàng)建●publicRandomAccessFile(Stringname,Stringmode)用參數(shù)中包含文件名的字符串創(chuàng)建一個隨機訪問流對象同時,用第二參數(shù)設(shè)置文件讀寫的模式。mode最常用的兩種取值:“r”代表了以只讀方式打開文件,“rw”代表以讀寫方式打開文件?!駊ublicRandomAccessFile(Filefile,Stringmode)用參數(shù)中包含文件對象創(chuàng)建一個隨機訪問流對象同時,用第二參數(shù)設(shè)置文件讀寫的模式。mode最常用的兩種取值:“r”代表了以只讀方式打開文件,“rw”代表以讀寫方式打開文件。任務(wù)4隨機訪問流②對文件位置指針的操作●longgetFilePointer():記錄文件指針的當(dāng)前位置(以字節(jié)為單位)?!駐oidseek(longpos):將文件位置指針定位到pos位置(以字節(jié)為單位),其中0表示文件的開頭?!駃ntskipBytes(intn):將文件位置指針向后移動n個字節(jié)。RandomAccessFile對象的文件位置指針遵循下面的規(guī)律:(1)新建RandomAccessFile對象的文件位置指針位于文件的開頭處;(2)每次讀寫操作之后,文件位置的指針都相應(yīng)后移到讀寫的字節(jié)數(shù);(3)可以通過getFilePointer()方法來獲得文件位置指針的位置,通過seek()方法來設(shè)置文件指針的位置。任務(wù)4隨機訪問流③隨機訪問的讀寫操作RandomAccessFile類中針對所有的基本類型都有相應(yīng)的讀/寫方法,讀方法描述如下見下表所示。任務(wù)4隨機訪問流2、隨機讀寫應(yīng)用例6.10用隨機讀寫的方式打開文件test.dat,然后向文件寫入10個double型數(shù)后關(guān)閉該文件;隨后再打開該文件,用新的值覆蓋第6個浮點數(shù)后關(guān)閉文件;最后打開該文件,將10個數(shù)以逆序的方式輸出。importjava.io.RandomAccessFile;importjava.io.IOException;importjava.io.FileNotFoundException;publicclassRAFDemo{publicstaticvoidmain(Stringargs[]){try{RandomAccessFileraf=newRandomAccessFile("test.dat","rw");for(inti=0;i<10;i++)raf.writeDouble(i*1.414); raf.close();//關(guān)閉文件
raf=newRandomAccessFile("test.dat","rw"); raf.seek(5*8);raf.writeDouble(123.0001);任務(wù)4隨機訪問流raf.close();//關(guān)閉文件
raf=newRandomAccessFile("test.dat","r"); for(inti=0;i<10;i++)//將這10個浮點數(shù)按逆序的方式打印輸出
{ raf.seek((9-i)*8);//指針定位是從后往前移動
System.out.println("Value"+(9-i)+":"+raf.readDouble()); } raf.close();}catch(FileNotFoundExceptione){System.out.println(e);}catch(IOExceptione){System.out.println(e);}}}程序運行結(jié)果:Value9:12.725999999999999Value8:11.312Value7:9.898Value6:8.484Value5:123.0001Value4:5.656Value3:4.242Value2:2.828Value1:1.414Value0:0.0任務(wù)5其它流在Java的輸入/輸出類中,針對字節(jié)流和字符流分別定義了兩類不同的緩沖類。字節(jié)流的緩沖類為BufferedInputStream類和BufferedOutputStream類,其構(gòu)造方法定義如下:●publicBufferedInputStream(InputStreamin)用參數(shù)中包含的InputStrean對象創(chuàng)建一個字節(jié)輸入流的緩沖類對象?!駊ublicBufferedInputStream(InputStreamin,intsize)用參數(shù)中包含的InputStrean對象創(chuàng)建一個字節(jié)輸入流的緩沖類對象同時,可以用第二個參數(shù)指定輸入緩沖區(qū)的大小,默認(rèn)情況下輸入緩沖區(qū)是2048個字節(jié)?!駊ublicBufferedOutputStream(OutStreamout)用參數(shù)中包含的OutputStrean對象創(chuàng)建一個字節(jié)輸出流的緩沖類對象。1、緩沖流任務(wù)5其它流
●publicBufferedOutputStream(OutStreamout,intsize)用參數(shù)中包含的OutputStrean對象創(chuàng)建一個字節(jié)輸出流的緩沖類對象同時,可以用第二個參數(shù)指定輸出緩沖區(qū)的大小,默認(rèn)情況下輸出緩沖區(qū)是512個字節(jié)。字符流的緩沖類為BufferedReader類和BufferedWriter類,其構(gòu)造方法定義如下:●publicBufferedReader(Readerin)用參數(shù)中包含的Reader對象創(chuàng)建一個字符輸入流的緩沖類對象?!駊ublicBufferedReader(Readerin,intsz)用參數(shù)中包含的Reader對象創(chuàng)建一個字符輸入流的緩沖類對象同時,可以用第二個參數(shù)指定輸入緩沖區(qū)的大小,默認(rèn)情況下輸入緩沖區(qū)是8192個字節(jié)?!駊ublicBufferedWriter(Writerout)用參數(shù)中包含的Writer對象創(chuàng)建一個字符輸出流的緩沖類對象。任務(wù)5其它流●publicBufferedWriter(Writerout,intsz)用參數(shù)中包含的Writer對象創(chuàng)建一個字符輸出流的緩沖類對象同時,可以用第二個參數(shù)指定輸出緩沖區(qū)的大小,默認(rèn)情況下輸出緩沖區(qū)是8192個字節(jié)。例6.12使用緩沖來讀一個較大的文件,并判斷文件中出現(xiàn)字符A的次數(shù)。importjava.io.FileInputStream;importjava.io.BufferedInputStream;importjava.io.IOException;publicclassFileTest2{publicstaticvoidmain(Stringargs[])throwsIOException{longt=System.currentTimeMillis();Stringfilename=args[0];FileInputStreamfis=newFileInputStream(filename);BufferedInputStreambis=newBufferedInputStream(fis);intcount=0;intc;while((c=bis.read())!=-1){ if(c=='A'){count++;}}任務(wù)5其它流fis.close();System.out.println(count);t=System.currentTimeMillis()-t;System.out.println("Timeelapsed:"+t);}}在命令行輸入如下命令:javaFileTest1accmnsrc.txt程序運行結(jié)果為:5427Timeelapsed:15
本例與例6.10的區(qū)別僅在于FileTest2程序的第9行,該行語句以FileInputStream對象為參數(shù)構(gòu)造了一個BufferedInputStream對象。從FileTest2程序的執(zhí)行結(jié)果可看出,其執(zhí)行時間對比與FileTest1有顯著提高,從615毫秒縮減到了15毫秒。任務(wù)5其它流數(shù)據(jù)流,簡單說就是允許字節(jié)流直接操作基本數(shù)據(jù)類型和字符串。DataInputStream和DataOutputStream類創(chuàng)建的對象分別稱為數(shù)據(jù)輸入流和數(shù)據(jù)輸出流。這兩個類的構(gòu)造方法如下:●publicDataInputStream(InputStreamin)以一個InputStream對象作為參數(shù),表示它是建立在一個已存的輸入流對象之上,并以字節(jié)流的方式讀取數(shù)據(jù)?!駊ublicDataOutputStream(OutputStreamin)以一個OutputStream對象作為參數(shù),表示它建立在一個已存在的輸出流對象之上,以字節(jié)流的方式寫數(shù)據(jù)。2、數(shù)據(jù)流任務(wù)5其它流
DataInputStream和DataOutputStream類的讀寫方法見下表所示。任務(wù)5其它流例6.13用DataOutputStream類生成一個文件,然后用DataInputStream類讀取這個文件。importjava.io.*;publicclassDataInOutDemo{publicstaticvoidmain(String[]args){try{FileOutputStreamfod=newFileOutputStream("data.dat");
DataOutputStreamoutDat=newDataOutputStream(fod);outDat.writeInt(800);outDat.writeLong(12345678);outDat.writeFloat(123.45f);outDat.writeDouble(678
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨街旺鋪出租合同模板
- 與孩子成長合同之一:教育規(guī)劃
- 個人住宅抵押借款合同模板
- 臨街店面租房合同模板
- 中外農(nóng)產(chǎn)品進(jìn)出口貿(mào)易合同
- 中學(xué)食堂用品采購合同
- 個人與物業(yè)承包合同細(xì)則
- 個人貸款合同升級:抵押房屋保險新變化解析
- 個人就業(yè)合同樣本
- 個人向企業(yè)借款正式合同
- 全過程造價咨詢服務(wù)的質(zhì)量、進(jìn)度、保密等保證措施
- 縣城屠宰場建設(shè)可行性研究報告
- 25學(xué)年六年級數(shù)學(xué)寒假作業(yè)《每日一練》
- 2025高考數(shù)學(xué)一輪復(fù)習(xí)-第8章-第3節(jié) 圓的方程【課件】
- 人文關(guān)懷在護(hù)理工作中的體現(xiàn)
- 2025年1月八省聯(lián)考高考綜合改革適應(yīng)性測試-高三生物(陜西、山西、寧夏、青海卷) 含解析
- 環(huán)保行業(yè)深度研究報告
- 開工第一課安全培訓(xùn)內(nèi)容
- 社會主義核心價值觀課件
- 《公路養(yǎng)護(hù)安全培訓(xùn)》課件
- 公益捐助活動影響力評估方法
評論
0/150
提交評論