字符輸入流讀取文本文件
1. Reader類(讀取字符流的抽象類)
Reader類的常用方法
方法名稱 |
說明 |
int read() |
從輸入流中讀取單個字符 |
int read(byte[] c) |
從輸入流中讀取c .length長度的字符,保存到字節數組c中,返回實際讀取的字符數 |
int read(byte[] c, int off , int len) |
從輸入流中讀取最多len長度的字節,保存到字節數組c中,保存的位置從off開始,返回實際讀取的字符數 |
void close() |
關閉流 |
2.字符輸入流FileReader類
常用構造方法:
※ FileReader (String name)
Reader fileObject=new FileReader (“C:\\test.txt”);
使用FileReader讀取文件步驟:
(1) 引入相關類(IOException, Reader, FileReader)
Import java.io.*;
(2) 創建一個FileReader對象
Reader fileObject=new File Reader (“C:\\test.txt”);
(3) 利用FileReader類的方法讀取文本文件的數據
int read (); //讀取單個字符
(4) 關閉文件輸入流對象
fileObject .close ();
3.字符輸入流BufferedReader類
常用構造方法:
※ BufferedReader (Reader in)
Reader fileObject=new FileReader (“C:\\test.txt”);
BufferedReader br=new BufferedReader (BufferedReader);
使用BufferedReader讀取文件步驟:
(1) 引入相關類(IOException, Reader, BufferedReader)
Import java.io.*;
(2) 創建一個BufferedReader對象
Reader fr=new FileReader (“C:\\test.txt”);
BufferedReader br=new BufferedReader (fr);
(3) 利用BufferedReader類的方法讀取文本文件的數據
br. readLine (); //讀取一行數據,返回字符串
【readLine()是BufferedReader類特有的方法】
(4) 關閉文件輸入流對象
br .close ();
fr .close ();
◎ FileReader和BufferedReader區別:
BufferedReader類帶有緩沖區,它可以先把一批數據讀到緩沖區,接下來的 讀操作都是從緩沖區內獲取數據,避免每次都從數據源讀取數據進行字符編碼轉換,從而提高讀取操作的效率。
字符輸出流寫文本文件
- Writer類
Writer類的常用方法
方法名稱 |
說明 |
write(String str) |
將str字符串里包含的字符輸出到指定的輸出流中 |
write(String str , int off , int len) |
將str字符串從off位置開始,長度為len的字符輸出到輸出流中 |
void close() |
關閉輸出流 |
void flush() |
刷新輸出流 |
2.字符輸入流FileWriter類
常用構造方法:
※ FileWriter (String name)
Writer fileObject=new FileWriter (“C:\\test.txt”);
使用FileWriter讀取文件步驟:
(1) 引入相關類(IOException, FileWriter)
Import java.io.*;
(2) 創建一個FileWriter對象
Writer fr=new FileWriter (“C:\\test.txt”);
(3) 利用FileWriter類的方法寫文本文件
fr. write (“hello”);
(4) 關閉文件輸出流
fr. close ();
3.字符輸入流BufferedWriter類
常用構造方法:
※ BufferedReader (Writerout)
Writer fw=new File Writer (“C:\\test.txt”);
BufferedWriter br=new Buffered Writer (fw);
使用BufferedWriter和FileWriter將數據寫入文件:
(1) 引入相關類(IOException, FileWriter, BufferedWriter)
Import java.io.*;
(2) 創建一個BufferedWriter對象
FileWriter fw=new FileWriter (“C:\\test.txt”);
BufferedWriter bw=new BufferedWriter (fw);
(3) 利用BufferedWriter類的方法寫文本文件
bw. write(“hello”);
(4) 關閉文件輸入流對象
bw .flush (); //刷新該流的緩沖
fw .close ();
※ 替換文本文件內容:replace(文件中的內容,替換的內容)
【要用一個變量接收其返回的數據】
※ 使用FileWriter寫網頁文件時:
換行:“\r\n”或“<br/>”
使用BufferedWriter寫網頁文件時:
換行:bw. newLine();【在文本文件中會顯示換行,但在html文件中不會換行】