Java流與文件操作

數據流的基本概念
數據流分爲輸入流和輸出流。
輸入流只能讀不能寫,而輸出流只能寫不能讀。
使用數據流的目的是使程序的輸入輸出操作獨立於相關設備,增強程序的可移植性。
字符流
Reader類和Writer類
字符輸入流Reader類是所有面向字符的輸入流的超類聲明爲java.io中的抽象類。
Public abstract class Reader extends Object
字符輸出流Writer類是所有面向字符的輸出流的超類聲明爲java.io中的抽象類。
Public abstract class Writer extends Object
Writer的新增方法:
Public void writer(Srtring str) throwsIOException:將字符串寫入輸出流
Public abstract void flush() throwsIOException:將緩衝區內容寫入輸出流
輸入\輸出流對象.close是關閉輸入\輸出流
字符文件流FileReader和FileWriter類
FileReader和FileWriter類分別是InputStreamReader和OutputStreamWriter的子類。
FileReader從父類中繼承了read()、close()等方法,FileWriter從父類中繼承了write()、close()等方法。
字符緩衝流BufferedReader和BufferedWriter類
字符緩衝輸入流BufferedReader類 父類是Reader
構造方法:
Public BufferedReader(Reader in):創建一個默認大小的緩衝字符輸入流
Public BufferedReader(Reader in,int sz):創建一個指定大小的緩衝字符的輸入流
實例方法:
public String readLine() throws IOException:讀取一個文件行
字符緩衝輸出流BufferedWriter類 父類是Writer
構造方法:
Public BufferedWriter(Writer in):創建一個默認大小的緩衝字符輸出流
Public BufferedWriter (Writer in,int sz):創建一個指定大小的緩衝字符的輸出流
實例方法:
public String newLine() throws IOException:寫入一個行分隔符
字節流
字節流InputStream和OutputStream類
字節輸入流InputStream類 父類是Object
InputStream類的常用的方法:
read():從流中讀入數據
skip():跳過流中若干字節數
available():返回流中可用字節數
mark():在流中標記一個位置
reset():返回標記過的位置
markSupport():是否支持標記和復位操作
close():關閉流

字節輸入流OutputStream類 父類是Object
OutputStream類的常用的方法:
write(int b):將一個整數輸出到流
write(byte b[]):講數組中的數據輸出到流中
write(byte b[],int off,int len):將數組b中從off指定的位置開始len長度的數據輸出到流中
flush():將緩衝區中的數據強制送出
close():關閉流
文件字節輸入\輸出流類FileInputStream和FileOutputStream
文件字節輸入流類FileInputStream
構造方法:
Public FileInputStream(String name) throwsFileNotFoundException
Public FileInputStream(File file) throwsFileNotFoundException
例如:
FileInputStream f=new FileInputStream(“date.txt”);
讀寫字節的方法:
Public int read() throws IOException
Public int read(byte[] b) throwsIOException
Public int read(byte[] b,int off,int len)throws IOException
關閉輸入流:
Public void close() throws IOException

文件字節輸出流類FileOutputStream
構造方法:
Public FileOutputStream (String name)throws FileNotFoundException
Public FileOutputStream (File file) throwsFileNotFoundException
Public FileOutputStream (String name,Booleanappend) throws FileNotFoundException
例如:
FileOutputStreamf=new FileOutputStream (“date.txt”,true);
讀寫字節的方法:
Public int write() throws IOException
Public int write(byte[] b) throwsIOException
Public int write(byte[] b,int off,int len)throws IOException
關閉輸入流:
Public void close() throws IOException
文件操作
File類
構造方法:
Public File(String pathname)
Public File(File parent,String child)
Public File(String parent,String child)
Public File(URI uri)
Fiel類的方法:
訪問文件的對象:
Public String getName():返回文件對象名,不包含路徑名
Public String getPath():返回相對路徑名,包含文件名
Public String getAbsolutePath():返回絕對路徑名,包含文件名
Public String getParent():返回父類文件對象的路徑名
Public File getParentFile():返回父文件對象
獲得文件屬性:
Public long length():返回指定文件的字節長度
Public Boolean exists():測試指定的文件是否存在
Public long lastModified():返回指定文件最後被修改的時間
文件操作:
Public Boolean renameTo(Filedest):文件重命名
Public Boolean delete():刪除空目錄
目錄操作:
Public Boolean mkdir():創建指定目錄,正常建立時返回true
Public String[] list():返回目錄中的所有文件名字符串
Public File[] listFile():返回指定目錄中的所有文件對象
文件過濾器
FileFilter和FilenameFilter接口
具有上面的方法
如果過濾出指定的後綴:可以用endsWith()方法
隨機文件操作
RandomAccessFile類
對象序列化
ObjectInputStream
ObjectOutputStream
Java的標準數據流和輸入/輸出流
標準輸入System.in
標準輸出System.out
標準的錯誤輸出System.err

流操作的基本規律:
1. 明確數據源和數據目的,
其實就是在明確是要使用輸入流還是輸出流。
2. 明確操作的數據是否是純文本數據。
如果是使用字符流。
如果不是使用字節流。
InputStream OutputStream
Reader Writer
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章