1)java.io.File:File的每一個實例用于表示文件系統(tǒng)中的一個文件或目錄
File.separator;//支持不同系統(tǒng)目錄層級分割桨螺,相當于斜杠
String getName();//獲取文件或目錄的名稱
long length();//獲取文件的字節(jié)大小
boolean canRead();//是否可讀
boolean canWrite();//是否可寫
boolean isHidden();//是否隱藏
boolean exists();//判斷該File表示的文件或目錄是否真實存在
boolean createNewFile();//創(chuàng)建該文件
boolean delete();//刪除該文件或目錄。如果此路徑名表示一個目錄酿秸,則該目錄必須為空才能刪除
boolean mkdir();//創(chuàng)建此抽象路徑名指定的目錄灭翔,創(chuàng)建成功true,否則false
boolean mkdirs();//創(chuàng)建多級目錄辣苏,創(chuàng)建成功true肝箱,否則false
boolean isFile();//判斷該File表示的是否是一個文件
Boolean isDirectory();//判斷該File是否為一個目錄
File[] listFiles();//獲取該目錄中的所有子項
File[] listFiles(FileFilter fiter);//獲取該目錄中符合過濾器的子項
2)java.io.RandomAccessFile:可以對文件隨機訪問的操作,訪問包括讀和寫操作稀蟋,是基于指針的操作
RandomAccessFile(File file, String mode);//file指file實例煌张,mode指操作模式,包括“rw”讀寫模式和“r”只讀模式
RandomAccessFile(String path, String mode);//path指文件路徑退客,mode指操作模式骏融,包括“rw”讀寫模式和“r”只讀模式
void write(int d);//將給定的int值所表示的2進制的“低8位”這個字節(jié)寫入文件
int read();//讀取一個字節(jié)链嘀,然后將字節(jié)存到一個int值中,然后返回該int值档玻,如返回的int值為-1怀泊,則表示本次讀取時是在文件的末尾
int read(byte[] data);//一次性讀取給定字節(jié)數(shù)組length的字節(jié)量,并存入到該數(shù)組中误趴,返回值為實際讀取到的字節(jié)量包个;若返回值為-1表示本次沒有讀到任何字節(jié),是文件的末尾
void write(byte[] data);//將給定的字節(jié)數(shù)組中所有字節(jié)一次性寫出
void write(byte[] data,int offset,int len);//將給定字節(jié)數(shù)組從下標offset處的字節(jié)開始的連續(xù)len個一次性寫出
long getFilePointer();//獲取RAF當前指針位置
void writeInt(int d);//將int值對應(yīng)的4個字節(jié)一次性寫出
void seek(long pos);//移動指針到指定位置
int readInt();//返回一次性讀出四個字節(jié)對應(yīng)的int值
int skipBytes(int n):方法可以嘗試跳過輸入的 n 個字節(jié)以丟棄跳過的字節(jié)冤留,返回跳過的實際字節(jié)數(shù)碧囊。如果 n 為負數(shù),則不跳過任何字節(jié)
byte[] getBytes();//將當前字符串按照系統(tǒng)默認字符集轉(zhuǎn)換為一組字節(jié)----String
byte[] getBytes(String csn);//將當前字符串按照給定字符集轉(zhuǎn)換為一組對應(yīng)的字節(jié)(csn:charset name)----String
String(byte[] data);//將給定字節(jié)數(shù)組中所有字節(jié)按照當前系統(tǒng)默認字符集轉(zhuǎn)換為對應(yīng)的字符串----String構(gòu)造方法
String(byte[] data,int offset,int len);//將給定字節(jié)數(shù)組從下標offset處開始的連續(xù)len個字節(jié)按照系統(tǒng)默認字符集轉(zhuǎn)換為字符串----String構(gòu)造方法
String(byte[] data,int offset,int len,String csn);//將給定字節(jié)數(shù)組從下標offset處開始的連續(xù)len個字節(jié)按照指定字符集轉(zhuǎn)換為字符串----String構(gòu)造方法
3)FileInputStream 文件輸入流與FileOutputStream 文件輸出流:
用來讀寫文件數(shù)據(jù)的流纤怒,文件流是一對低級流糯而。
FileOutputStream(String name, boolean);//第二個參數(shù)為true則是追加模式
BufferedInputStream 緩沖輸入流和BufferedOutputStream 緩沖輸出流:
提高讀取效率、提高寫出效率泊窘。
注意:void flush();//一次性將緩沖區(qū)的數(shù)據(jù)寫出
ObjectInputStream 對象輸入流和ObjectOutputStream 對象輸出流:
輸入流熄驼,用于反序列化對象;輸出流烘豹,可以將給定的對象轉(zhuǎn)換為一組字節(jié)瓜贾,然后通過其處理的流將這組字節(jié)寫出。
注意:如果一個類的實例希望被對象流進行讀寫携悯,那么必須實現(xiàn)Serializable接口
InputStreamReader 字符輸入轉(zhuǎn)換流和OutputStreamWriter 字符輸出轉(zhuǎn)換流:
一般不用祭芦,為中間轉(zhuǎn)換作用
BufferedReader 緩沖字符輸入流和PrintWriter 緩沖字符輸出流:
可以按行讀寫字符串
PrintWriter支持"自動行刷新"功能,若在構(gòu)造方法中第二個參數(shù)為true憔鬼,則會每寫出一行自動調(diào)用void flush()方法龟劲。