第九章 輸入輸出處理_第1頁
第九章 輸入輸出處理_第2頁
第九章 輸入輸出處理_第3頁
第九章 輸入輸出處理_第4頁
第九章 輸入輸出處理_第5頁
已閱讀5頁,還剩56頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第九章輸入/輸出處理常州信息職業(yè)技術學院(CCIT)軟件學院CCIT軟件學院2本講內容1、I/O概述2、I/O字節(jié)流3、I/O字符流4、隨機訪問文件CCIT軟件學院31.I/O概述

大部分程序都需要輸入/輸出處理,比如從鍵盤讀取數據、向屏幕中輸出數據、從文件中讀或者向文件中寫數據、在一個網絡連接上進行讀寫操作等。在Java中,把這些不同類型的輸入、輸出抽象為流(Stream),而其中輸入或輸出的數據則稱為數據流(DataStream),用統一的接口來表示,從而使程序設計簡單明了。CCIT軟件學院41.I/O概述流一般分為輸入流(InputStream)和輸出流(OutputStream)兩類,但這種劃分并不是絕對的。比如一個文件,當向其中寫數據時,它就是一個輸出流;當從其中讀取數據時,它就是一個輸入流。當然,鍵盤只是一個數人流,而屏幕則只是一個輸出流。在Java開發(fā)環(huán)境中,主要是由包java.io中提供的一系列的類和接口來實現輸入/輸出處理。標準輸入/輸出處理則是由包java.lang中提供的類來處理的,但這些類又都是從包java.io中的類繼承而來。CCIT軟件學院51.I/O概述在JDK1.1之前,java.io包中的流只有普通的字節(jié)流(以byte為基本處理單位的流),這種流對于以16位的Unicode碼表示的字符流處理很不方便。從JDK1.1開始,java.io包中加入了專門用于字符流處理的類(以Reader和Writer為基礎派生的一系列類)。另外,為了使對象的狀態(tài)能夠方便地永久保存下來,JDK1.1以后的java.io包中提供了以字節(jié)流為基礎的用于對象的永久化保存狀態(tài)的機制(通過實現ObjectInput和ObjectOutput接口)。CCIT軟件學院61.I/O字節(jié)流InputStreamByteArrayInputStreamFileInputStreamFilterInputStream

BufferedInputStreamDataInputStreamLineNumberInputStream

PushbackInputStreamObjectInputStreamPipedInputStreamSequenceInputStreamStringBufferInputStreamOutputStreamByteArrayOutputStreamFileOutputStreamFilterOutputStreamBufferedOutputStreamDataOutputStreamPrintStreamObjectOutputStreamPipedOutputStreamCCIT軟件學院71.I/O字符流ReaderBufferedReaderLineNumberReaderCharArrayReaderFilterReaderPushbackReaderInputStreamReaderFileReaderPipedReaderStringReaderWriterBufferedWriterCharArrayWriterFilterWriterOutputStreamWriterFileWriterPipedWriterStringWriterPrintWriterCCIT軟件學院81.I/O接口與文件操作DataInputObjectInputDataOutputObjectOutputFileFilterFilenameFilterObjectInputValidationObjectStreamConstantsSerializableExternalizableFileFileDescriptorRandomAccessFilejava.awt.FileDialogCCIT軟件學院92.字節(jié)流——InputStream

read():從流中讀入數據skip():跳過流中若干字節(jié)數available():返回流中可用字節(jié)數mark():在流中標記一個位置reset():返回標記過得位置markSupport():是否支持標記和復位操作close():關閉流CCIT軟件學院102.字節(jié)流——InputStreamintread()從輸入流中讀一個字節(jié),形成一個0~255之間的整數返回(是一個抽象方法)。intread(byteb[])讀多個字節(jié)到數組中。intread(byteb[],intoff,intlen)從輸入流中讀取長度為len的數據,寫入數組b中從索引off開始的位置,并返回讀取得字節(jié)數。對于這三個方法,若返回-1,表明流結束。CCIT軟件學院112.字節(jié)流——OutputStreamwrite(intb)將一個整數輸出到流中(只輸出低位字節(jié),抽象)write(byteb[])將字節(jié)數組中的數據輸出到流中write(byteb[],intoff,intlen)將數組b中從off指定的位置開始,長度為len的數據輸出到流中flush():刷空輸出流,并將緩沖區(qū)中的數據強制送出close():關閉流CCIT軟件學院122.字節(jié)流——例子1把輸入流中的所有內容復制到輸出流中publicvoidcopy(InputStreamin,OutputStreamout)throwsIOException{byte[]buf=newbyte[4096];intlen=in.read(buf);while(len!=-1){out.write(buf,0,len);len=in.read(buf);}}CCIT軟件學院132.字節(jié)流——文件流FileInputStream:類用來打開一個輸入文件,若要打開的文件不存在,則會產生例外FileNotFoundException,這是一個非運行時例外,必須捕獲或聲明拋棄;FileOutputStream:類用來打開一個輸出文件,若要打開的文件不存在,則會創(chuàng)建一個新的文件,否則原文件的內容會被新寫入的內容所覆蓋。在進行文件的讀/寫操作時,會產生非運行時例外IOException,必須捕獲或聲明拋棄(其它的輸入/輸出流處理時也同樣需要進行輸入/輸出例外處理)。CCIT軟件學院142.字節(jié)流——文件流文件流的構造方法:FileInputStream(Stringname)打開一個文件路徑名為name的文件作為輸入。FileOutputStream(Stringname)創(chuàng)建一個文件路徑名為name的文件作為輸出,文件如果已經存在,則其內容被清空。FileOutputStream(Stringname,booleanappend)創(chuàng)建一個文件路徑名為name的文件作為輸出,文件如果已經存在,則在該輸出上輸出的內容被接到原有內容之后。CCIT軟件學院152.字節(jié)流——例子2把一個文件的內容加到另一個文件后publicvoidcat(Stringfsrc,Stringfdest){try{InputStreamin=newFileInputStream(fsrc);OutputStreamout=

newFileOutputStream(fdest,true);copy(in,out);out.close();in.close();}catch(IOExceptionex){System.err.println(ex);}}CCIT軟件學院162.字節(jié)流——過濾流類FilterInputStream和FilterOutputStream分別對其他輸入/輸出流進行特殊處理,它們在讀/寫數據的同時可以對數據進行特殊處理。另外還提供了同步機制,使得某一時刻只有一個線程可以訪問一個輸入/輸出流。類FilterInputStream和FilterOutputStream分別重寫了父類InputStream和OutputStream的所有方法,同時,它們的子類也應該重寫它們的方法以滿足特定的需要。要使用過濾流,首先必須把它連接到某個輸入/輸出流上,通常在構造方法的參數中指定所要連接的流:FilterInputStream(InputStreamin);FilterOutputStream(OutputStreamout);這兩個類是抽象類,構造方法也是保護方法。CCIT軟件學院172.字節(jié)流——過濾流:緩沖流類BufferedInputStream和BufferedOutputStream實現了帶緩沖的過濾流,它提供了緩沖機制,把任意的I/O流“捆綁”到緩沖流上,可以提高讀寫效率。在初始化時,除了要指定所連接的I/O流之外,還可以指定緩沖區(qū)的大小。缺省大小的緩沖區(qū)適合于通常的情形;最優(yōu)的緩沖區(qū)大小常依賴于主機操作系統、可使用的內存空間以及機器的配置等;一般緩沖區(qū)的大小為內存頁或磁盤塊等地整數倍,如8912字節(jié)或更小。BufferedInputStream(InputStreamin[,intsize])BufferedOutputStream(OutputStreamout[,intsize])CCIT軟件學院182.字節(jié)流——例子3使用緩沖流支持的mark和reset機制publicStringreadLine(BufferedInputStreamin)throwsIOException{StringBuffersb=newStringBuffer();intc=in.read();……

returnsb.toString();}while(c!=-1){if(c==‘\n’)break;if(c==‘\r’){in.mark(1);if(in.read()!=‘\n’)in.reset();break;}

sb.append((char)c);c=in.read();}CCIT軟件學院192.字節(jié)流——過濾流:緩沖流對于BufferedOutputStream,只有緩沖區(qū)滿時,才會將數據真正送到輸出流,但可以使用flush()方法人為地將尚未填滿的緩沖區(qū)中的數據送出。publicvoidcopy(InputStreamin,OutputStreamout)throwsIOException{

out=newBufferedOutputStream(out,4096);byte[]buf=newbyte[4096];intlen=in.read(buf);while(len!=-1){out.write(buf,0,len);len=in.read(buf);}

out.flush();}CCIT軟件學院202.字節(jié)流——DataInputbooleanreadBoolean()bytereadByte()shortreadShort()charreadChar()intreadInt()longreadLong()doublereadDouble()floatreadFloat()intreadUnsignedByte()intreadUnsignedShort()CCIT軟件學院212.字節(jié)流——DataInputvoidreadFully(byte[]b)讀滿字節(jié)數組,不同于InputStream.readvoidreadFully(byte[]b,intoff,intlen)讀滿指定長度,不同于InputStream.readintskipBytes(intn)與InputStream.skip等價StringreadUTF()安類UTF-8形式從輸入中讀取字符串StringreadLine()按回車(\r)換行(\n)為分割符讀取一行字符串不完全支持UNICODECCIT軟件學院222.字節(jié)流——DataOutputvoidwriteBoolean(booleanv)voidwriteByte(intv)voidwriteShort(intv)voidwriteChar(intv)voidwriteInt(intv)voidwriteLong(longv)voidwriteFloat(floatv)voidwriteDouble(doublev)CCIT軟件學院232.字節(jié)流——DataOutputvoidwrite(byte[]b)與OutputStream.write同義voidwrite(byte[]b,intoff,intlen)與OutputStream.write同義voidwrite(intb)與OutputStream.write同義voidwriteBytes(Strings)只輸出每個字符的低8位;不完全支持UNICODE。voidwriteChars(Strings)每個字符在輸出中都占兩個字節(jié)。CCIT軟件學院242.字節(jié)流——過濾流:數據流DataInputStream和DataOutputStream在提供了字節(jié)流的讀寫手段的同時,以統一的通用的形式向輸入流中寫入boolean,int,long,double等基本數據類型,并可以在次把基本數據類型的值讀取回來。提供了字符串讀寫的手段。分別實現了DataInput和DataOutput接口CCIT軟件學院252.字節(jié)流——例子4FileOutputStreamfos=newFileOutputStream(“a.txt”);DataOutputStreamdos=newDataOutputStream(fos);dos.writeBoolean(true);dos.writeByte((byte)123);dos.writeChar('J');dos.writeDouble(3.141592654);dos.writeFloat(2.7182f);dos.writeInt(1234567890);dos.writeLong(998877665544332211L);dos.writeShort((short)11223);dos.writeUTF(“字符串”);dos.close();CCIT軟件學院262.字節(jié)流——例子4(續(xù))FileInputStreamfis=newFileInputStream("a.txt")DataInputStreamdis=newDataInputStream(fis);System.out.println(dis.readBoolean());System.out.println(dis.readByte());System.out.println(dis.readChar());System.out.println(dis.readDouble());System.out.println(dis.readFloat());System.out.println(dis.readInt());System.out.println(dis.readLong());System.out.println(dis.readShort());System.out.println(dis.readUTF());dis.close();CCIT軟件學院272.字節(jié)流——過濾流:其它LineNumberInputStream:主要用于對文本文件的處理,提供了行號控制功能。已經被LineNumberReader取代PushBackInputStream:它提供了一個方法將剛剛讀入的一個或多個字節(jié)退回到輸入流中去。在編譯程序的詞法分析階段,經常要超前讀入一個字節(jié)以界定當前詞的屬性,然后再將該字節(jié)退回(因為下面的處理可能還會用到該字節(jié))。PrintStream:其作用是將Java語言中的不同類型的數據以字符表示形式輸出到相應的輸出流中去。不產生異常。可自動flush。通過checkError()檢查錯誤。CCIT軟件學院282.字節(jié)流——標準流語言包java.lang中的System類管理標準輸入/輸出流和錯誤流。System.in,從InputStream中繼承而來,用于從標準輸入設備中獲取輸入數據(通常是鍵盤)。System.out,從PrintStream中繼承而來,把輸出送到缺省的顯示設備(通常是顯示器)。System.err,也是從PrintStream中繼承而來,把錯誤信息送到缺省的顯示設備(通常是顯示器)。每當main方法被執(zhí)行時,就自動生成上述三個對象。CCIT軟件學院292.字節(jié)流——例子5publicstaticvoidmain(Stringargs[]){try{bytebArray[]=newbyte[128];Stringstr;System.out.println(“Pleaseentersomething:");System.in.read(bArray);str=newString(bArray);System.out.print("Youentered:");System.out.println(str);}catch(IOExceptionioe){System.err.println(ioe.toString());}}CCIT軟件學院302.字節(jié)流——對象流對象的持續(xù)性(Persistence)能夠紀錄自己的狀態(tài)一邊將來再生的能力,叫對象的持續(xù)性。對象的串行化(Serialization)對象通過寫出描述自己狀態(tài)的的數值來記錄自己的過程叫串行化。串行化的主要任務是寫出對象實例變量的數值,如果變量是另一個對象的引用,則引用的對象也要串行化。這個過程是遞歸的。對象流能夠輸入輸出對象的流稱為對象流。可以將對象串行化后通過對象輸入輸出流寫入文件或傳送到其它地方。CCIT軟件學院312.字節(jié)流——對象流在java中,允許可串行化的對象在通過對象流進行傳輸。只有實現Serializable接口的類才能被串行化,Serializable接口中沒有任何方法,當一個類聲明實現Serializable接口時,只是表明該類加入對象串行化協議。publicclassStudentimplementsSerializable{intid;Stringname;intage;Stringdepartment;

transientintnumber;//第幾個對象實例

staticintcount;//創(chuàng)建對象實例的計數器}CCIT軟件學院322.字節(jié)流——對象流

要串行化一個對象,必須與一定的對象輸出/輸入流聯系起來,通過對象輸出流將對象狀態(tài)保存下來(將對象保存到文件中,或者通過網絡傳送到其他地方),再通過對象輸入流將對象狀態(tài)恢復。類ObjectOutputStream和ObjectInputStream分別繼承了接口ObjectOutput和ObjectInput,將數據流功能擴展到可以讀寫對象,前者用writeObject()方法可以直接將對象保存到輸出流中,而后者用readObject()方法可以直接從輸入流中讀取一個對象。CCIT軟件學院332.字節(jié)流——例子6publicclassObjectser{publicstaticvoidmain(Stringargs[]){Studentstu=newStudent(981036,“LiMing”,16,“CSD”);try{FileOutputStreamfo=newFileOutputStream(“data.ser”);ObjectOutputStreamso=newObjectOutputStream(fo);so.writeObject(stu);so.close();}catch(Exceptione){System.err.println(e);}}}CCIT軟件學院342.字節(jié)流——例子6(續(xù))publicclassObjectRecov{publicstaticvoidmain(Stringargs[]){Studentstu;try{FileInputStreamfi=newFileInputStream(“data.ser”);ObjectInputStreamsi=newObjectInputStream(fi);stu=(Student)si.readObject();si.close();}catch(Exceptione){System.out.println(e);}System.out.println(“ID:”+stu.id+“name:”++“age:”+age+“dept.:”+stu.department);}}CCIT軟件學院352.字節(jié)流——對象流定制對象的串行化:在類定義中重寫readObject()和WriteObject()方法。privatevoidwriteObject(ObjectOutputStreamout)throwsIOException{out.writeInt(id);

…//out.defaultWriteObject()}privatevoidreadObject(ObjectInputStreamin)throwsIOException{id=in.readInt();

…//out.defaultReadObject()}CCIT軟件學院362.字節(jié)流——對象流SerializableExternalizablevoidreadExternal(ObjectInputin)voidwriteExternal(ObjectOutputout)ObjectInputObjectOutputCCIT軟件學院372.字節(jié)流——管道流管道用來把一個程序、線程和代碼塊的輸出連接到另一個程序、線程和代碼塊的輸入。java.io中提供了類PipedInputStream和PipedOutputStream作為管道的輸入/輸出流。管道輸入流作為一個通信管道的接收端,管道輸出流則作為發(fā)送端。管道流必須是輸入輸出并用,即在使用管道前,兩者必須進行連接。輸出流輸入流CCIT軟件學院382.字節(jié)流——管道流管道輸入/輸出流可以用兩種方式進行連接:在構造方法中進行連接PipedInputStream(PipedOutputStreampos);PipedOutputStream(PipedInputStreampis);通過各自的connect()方法連接在類PipedInputStream中,

connect(PipedOutputStreampos);在類PipedOutputStream中,

connect(PipedInputStreampis);CCIT軟件學院392.字節(jié)流——內存流為了支持在內存上的I/O,java.io中提供了類ByteArrayInputStreamByteArrayOutputStreamStringBufferInputStreamByteArrayInputStream可以從指定的字節(jié)數組中讀取數據。ByteArrayOutputStream中提供了緩沖區(qū)可以存放數據(緩沖區(qū)大小可以在構造方法中設定),可以用write()方法向其中寫入數據,然后用toByteArray()方法將緩沖區(qū)中的有效字節(jié)寫到字節(jié)數組中去。size()方法可以知道寫入的字節(jié)數;reset()可以丟棄所有內容。StringBufferInputStream與ByteArrayInputStream相類似,不同點在于它是從字符緩沖區(qū)StringBuffer中讀取16位的Unicode數據,而不是8位的字節(jié)數據。(已被StringReader取代)CCIT軟件學院402.字節(jié)流——內存流ByteArrayInputStreamByteArrayInputStream(byte[]buf)ByteArrayInputStream(byte[]buf,intoffset,intlength)ByteArrayOutputStreamvoidreset():重寫內容intsize():返回寫入的字節(jié)數byte[]toByteArray():以新分配的字節(jié)數組形式返回寫入的內容StringtoString():以缺省字符編碼方式把內容編程字符串返回StringtoString(Stringenc):以指定字符編碼方式返回字符串voidwriteTo(OutputStreamout):把內容寫到另一個輸出流中CCIT軟件學院412.字節(jié)流——順序輸入流java.io中提供了類SequenceInputStream,使應用程序可以將幾個輸入流順序連接起來,讓程序員看起來就像是一個比較長的流一樣。順序輸入流提供了將多個不同的輸入流統一為一個輸入流的功能,這使得程序可能變得更加簡潔。如:FileInputStreamf1=newFileInputStream(“file1.txt”);FileInputStreamf2=newFileInputStream(“file2.txt”);SequenceInputStreamfs=newSequenceInputStream(f1,f2);FileOutputStreamf3=newFileOutputStream(“file3.txt”);copy(fs,f3);f3.close();fs.close();CCIT軟件學院423.字符流前面說過,在JDK1.1之前,java.io包中的流只有普通的字節(jié)流(以byte為基本處理單位的流),這種流對于以16位的Unicode碼表示的字符流處理很不方便。從JDK1.1開始,java.io包中加入了專門用于字符流處理的類,它們是以Reader和Writer為基礎派生的一系列類。同類InputStream和OutputStream一樣,Reader和Writer也是抽象類,只提供了一系列用于字符流處理的接口。它們的方法與類InputStream和OutputStream類似,只不過其中的參數換成字符或字符數組。CCIT軟件學院433.字符流——Readervoidclose()voidmark(intreadAheadLimit)booleanmarkSupported():intread()intread(char[]cbuf)intread(char[]cbuf,intoff,intlen)booleanready()voidreset()longskip(longn)CCIT軟件學院443.字符流——Writervoidclose()voidflush()voidwrite(char[]cbuf)voidwrite(char[]cbuf,intoff,intlen)voidwrite(intc)voidwrite(Stringstr)voidwrite(Stringstr,intoff,intlen)CCIT軟件學院453.字符流——與字節(jié)流連用InputStreamReader和OutputStreamWriter是java.io包中用于處理字符流的最基本的類,用來在字節(jié)流和字符流之間作為中介。使用這兩者進行字符處理時,在構造方法中應指定一定的平臺規(guī)范,以便把以字節(jié)方式表示的流轉換為特定平臺上的字符表示。InputStreamReader(InputStreamin);//缺省規(guī)范InputStreamReader(InputStreamin,Stringenc);//指定規(guī)范encOutputStreamWriter(OutputStreamout);//缺省規(guī)范OutputStreamWriter(OutputStreamout,Stringenc);//指定規(guī)范encCCIT軟件學院463.字符流——編碼如果讀取的字符流不是來自本地時(比如網上某處與本地編碼方式不同的機器),那么在構造字符輸入流時就不能簡單地使用缺省編碼規(guī)范,而應該指定一種統一的編碼規(guī)范“ISO8859_1”,這是一種映射到ASCII碼的編碼方式,能夠在不同平臺之間正確轉換字符。InputStreamReaderir=newInputStreamReader(is,“8859_1”);FileReader&FileWriter采用缺省編碼讀寫字符文件采用其它編碼處理字符文件時,采用

newInputStreamReader(newFileInputStream(file),“編碼名”);CCIT軟件學院473.字符流——緩沖同樣的,為了提高字符流處理的效率,java.io中也提供了緩沖流BufferedReader和BufferedWriter。其構造方法與BufferedInputStream和BufferedOutputStream相類似。另外,除了read()和write()方法外,它還提供了整行字符處理方法:publicStringreadLine():BufferedReader的方法,從輸入流中讀取一行字符,行結束標志為‘\n’、‘\r’或兩者一起。publicvoidnewLine():BufferedWriter的方法,向輸出流中寫入一個行結束標志,它不是簡單的換行符‘\n’或‘\r’,而是系統定義的行隔離標志(lineseparator)。CCIT軟件學院483.字符流——其它CharArrayReader&CharArrayWriter對字符數組進行處理StringReader&StringWriter對字符串進行處理FilterReader&FilterWriter過濾字符流PipedReader&PipedWriter管道字符流LineNumberReader行處理字符輸入流PrintWriter打印字符輸出流CCIT軟件學院494.隨機訪問文件File:以文件路徑名的形式代表一個文件FileDescriptor:代表一個打開文件的文件描述FileFilter&FilenameFilter:用于列出滿足條件的文件File.list(FilenameFilterfnf)File.listFiles(FileFilterff)FileDialog.setFilenameFilter(FilenameFilterfnf)FileInputStream&FileReader:順序讀文件FileOutputStream&FileWriter:順序寫文件RandomAccessFile:提供對文件的隨機訪問支持。CCIT軟件學院504.RandomAccessFile類RandomAccessFile則允許對文件內容同時完成讀和寫操作,它直接繼承Object,并且同時實現了接口DataInput和DataOutput,提供了支持隨機文件操作的方法:DataInput和DataOutput中的方法readInt(),writeDouble()…intskipBytes(intn):將指針鄉(xiāng)下移動若干字節(jié)length():返回文件長度longgetFilePointer():返回指針當前位置voidseek(longpos):將指針調到所需位置voidsetLength(longnewLength):設定文件長度CCIT軟件學院514.RandomAccessFileRandomAccessFile(Filefile,Stringmode) RandomAccessFile(Stringname,Stringmode)mode的取值:“r”

只讀.任何寫操作都將拋出IOException。“rw”

讀寫.文件不存在時會創(chuàng)建該文件,文件存在時,原文件內容不變,通過寫操作改變文件內容。“rws”

同步讀寫.等同于讀寫,但是任何協操作的內容都被直接寫入物理文件,包括文件內容和文件屬性?!皉wd”

數據同步讀寫.等同于讀寫,但任何內容寫操作都直接寫到物理文件,對文件屬性內容的修改不是這樣。CCIT軟件學院524.RandomAccessFile——例子7publicstaticvoidmain(Stringargs[]){intdata_arr[]={12,31,56,23,27,1,43,65,4,99};try{RandomAccessFilerandf=newRandomAccessFile(“temp.dat”,“rw”);for(inti=0;i>data_arr.length;i++)randf.writeInt(data_arr[i]);for(inti=data_arr.length-1;i>=0;i--){randf.seek(i*4);System.out.println(randf.readInt());}randf.close();}catch(IOExceptione){System.out.println(“Fileaccesserror:“+e);}}CCIT軟件學院534.文件操作——FileFile(Stringpathname)Filef=newFile(“c:\data\temp.dat”);Filef=newFile(“data\temp.dat”);Filef=newFile(“temp.dat”);File(Stringparent,Stringchild)Filef=newFile(“c:\data”,“temp.dat”);Filef=newFile(“data”,“temp.dat”);File(Fileparent,Stringchild)Filef=newFile(newFile(“c:\data”),“temp.dat”);Filef=newFile(newFile(“data”),“temp.dat”);CCIT軟件學院544.文件操作——File(1of4)booleancanRead()booleancanWrite()booleansetReadOnly()booleanexists()booleanisDirectory()booleanisFile()booleanisHidden()longlastModified()

溫馨提示

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

評論

0/150

提交評論