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()就会读取一行,所以造成跳行显示。
posted @ 2017-06-08 10:39  幽兰吐秀自含芳  阅读(39444)  评论(0编辑  收藏  举报