java讀取文件內容到字符串


使用的類:BufferedReader,繼承Reader類

主要方法:

void close () 
          關閉該流。
 void mark (int readAheadLimit) 
          標記流中的當前位置。
 boolean markSupported () 
          判斷此流是否支持 mark() 操作(它一定支持)。
 int read () 
          讀取單個字符。
 int read (char[] cbuf, int off, int len) 
          將字符讀入數組的某一部分。
 String readLine () 
          讀取一個文本行。
 boolean ready () 
          判斷此流是否已准備好被讀取。
 void reset () 
          將流重置為最新的標記。
 long skip (long n) 
          跳過字符。

 主要用到readLine方法來逐行文本內容

 程序實例:

public void fileRead() throws Exception {
		File file = new File("D:\\test.txt");//定義一個file對象,用來初始化FileReader
		FileReader reader = new FileReader(file);//定義一個fileReader對象,用來初始化BufferedReader
		BufferedReader bReader = new BufferedReader(reader);//new一個BufferedReader對象,將文件內容讀取到緩存
		StringBuilder sb = new StringBuilder();//定義一個字符串緩存,將字符串存放緩存中
		String s = "";
		while ((s =bReader.readLine()) != null) {//逐行讀取文件內容,不讀取換行符和末尾的空格
			sb.append(s + "\n");//將讀取的字符串添加換行符后累加存放在緩存中
			System.out.println(s);
		}
		bReader.close();
		String str = sb.toString();
		System.out.println(str );
	}
遇到問題:
while循環中,直接使用(bReader.readLine()!=null),循環體內用s=bReader.readLine()賦值,
輸出發現跳行獲取的,每調用一次bReader.readLine()就會讀取一行,所以造成跳行顯示。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM