檔案類File
絕對檔案名稱由檔案名稱和完整路徑及磁碟機字母組成。File(pathname: String) 建立一個FILE對象exists() :booleanCanRead() : booleanCanWrite() : booleanisDirectory() : booleanisFile() : booleanisAbsoulate() : booleanisHidden() : booleangetAbsolutePath() : StringgetName() : StringgetPath() : stringgetParent() : stringlastModified() : longlength() : longlistFile() : File[]delete() : booleanrenameTo(dest: File) : boolean可以使用Scanner類和PrintWriter類從文字檔讀寫字串和數值資訊java.io.PrintWriter類可以用來建立一個檔案並向文字檔中寫入資料。 PrintWriter output = new PrintWriter(filename);可以調用PrintWriter對象的print,println,printf方法向檔案中寫入資料java.util.Scanner類可以用來讀取字串和基礎資料型別 (Elementary Data Type)數值。從鍵盤讀取Scanner input = new Scanner(System.in);為了從檔案讀取,為檔案建立一個ScannerScanner input = new Scanner(new File(filename));Scanner中常用方法close() 關閉hasNext() 如果掃描器還有可讀資料next():String 放回下一個標誌作為字串nextLine(): String 讀取一行nextByte(): bytenextShort(): shortnextInt(): intnextLong(): longnextFloat(): floatnextDouble(): doubleInputStream類是二進位輸入類的根類,OutputStream類是二進位輸出類的根類。方法:read(): intread(b:byte[]) 從輸入資料流讀取b.length的數組read(b:byte[],off: int,len: int) 讀取位元組,儲存到b[off],b[off+1]....b[off+len-1].available():int close(): 關閉skip(n: long) 跳過和丟棄輸入資料流的n個位元組mark() 標記當前輸入資料流的位置reset():void 最後一次調用這個輸入資料流的時候覆位這個流write(int b ) : void 向輸出資料流寫入指定位元組write(b: byte[]): void 將數組b寫入write(b:byte[],off:int,len:int) 將b[off],b[off+len-1]寫入輸出資料流flush(): 重新整理這個流FileInputStream和FileOutputStream類是為了將檔案讀寫資料,所有方法都從InputStream類和OutputStream類繼承FiterInputStream類和FiterOutputStream類是為某種目的過濾資料流,基本位元組輸入資料流提供的read唯讀取位元組。需要處理基本數實值型別就需要使用DataInputStream和DataOutputStream類 。readBoolean(): boolean writeBoolean(): void readByte(): byte writeByte(): voidreadChar(): char writeChar(): voidreadFloat(): float writeFloat(): voidreadDouble(): double writeDouble(): voidreadInt(): int writeInt(): void readLong(): long writeLong(): voidreadShort(): short writeShort(): voidreadLine() : String writeLine() : voidreadUTF(): String writeUTF(): voidBufferedInoutStream類和BufferedOutputStream類可以通過減少讀寫次數來提高輸入和輸出的速度。它們為儲存位元組在流中添加一個緩衝區對象的輸入和輸出dataInputStream和DataOutputStream實現基礎資料型別 (Elementary Data Type)和字串的輸入和輸出。而ObjectInputStream和ObjectOutputStream不僅包含所有dataInputStream和DataOutputStream的功能,還可以實現對象的輸入和輸出。readObject(): ObjectwriteObject(): void 並不是每一個對象都可以寫到輸出資料流,可以寫到輸出資料流中的對象稱為可序列化的serializable。因為可序列化的對象是java.io.Serializable介面的執行個體。可序列化對象的類必須實現Serializable介面Serializable介面是一種標記性介面。因為它沒有方法。所以並不需要在類中增加多餘的代碼實現。實現這個介面可以啟動java序列化機制,自動完成對象儲存過程。public class Foo implements java.io.Serializable{ private int v1; private static double v2; private transient A v3 = new A();}標記為transient的元素沒有序列化