转载:http://www.seohim.com/mylife/61.html
原理:BufferedReader会一次性从物理流中读取8k(默认数值,可以设置)字节内容到内存,如果外界有请求,就会到这里存取,如果内存里没有才到物理流里再去读。即使读,也是再 8k。;
;而直接读物理流,是按字节来读。;
; 对物理流的每次读取,都有IO操作。IO操作是最耗费时间的。;;;
; BufferedReader就是减少了大量IO操作,而为你节省了时间。;
;; 简单的说,一次IO操作,读取一个字节也是读取,读取8k个字节也是读取,两者花费时间相差不多。而一次IO的来回操作却要耗费大量时间。;
; 好比是一辆大型汽车(设装100人),要去车站接人到公司,接一个人也是接,接100个人也是接,而时间一样。显然,接100个人最划算。
; 物理流就是一次一个字节(一个人);
; Buffered就是一次8k个字节(100个人);
; 对于读取定长字节文件,当然BufferedReader更快了!
import java.io.*;
public class Test11 {
;;; private static BufferedReader br = null;
;;; private static File file = null;
;;; private static BufferedWriter bw = null;
;;; public static void main(String[] args) {
;;;;;;; String b = null;
;;;;;;; file = new File(“D:斜杠斜杠abc.txt“);
;;;;;;; if (!file.exists() != false) {
;;;;;;;;;;; try {
;;;;;;;;;;;;;;; file.createNewFile();
;;;;;;;;;;;;;;
;;;;;;;;;;; } catch (IOException e) {
;;;;;;;;;;;;;;; e.printStackTrace();
;;;;;;;;;;; }
;;;;;;;;; }
;;;;;;;; try {
;;;;;;;;;;; bw = new BufferedWriter(new FileWriter(file));
;;;;;;;;;;; FileReader fr = new FileReader(“D:斜杠斜杠Log.txt“);
;;;;;;;;;;; br = new BufferedReader(fr);
;;;;;;;;;;; while ((b = br.readLine()) != null) {
;;;;;;;;;;;;;;; System.out.println(b);
;;;;;;;;;;;;;;; bw.write(b);//输出字符串
;;;;;;;;;;;;;;;; bw.newLine();//换行
;;;;;;;;;;;;;;; bw.flush();
;;;;;;;;;;; }
;;;;;;; } catch (Exception e) {
;;;;;;;;;;; e.printStackTrace();
;;;;;;; }finally {
;;;;;;;;;;; try {
;;;;;;;;;;;;;;; br.close();
;;;;;;;;;;;;;;; //bw.close();
;;;;;;;;;;; } catch (IOException e) {
;;;;;;;;;;;;;;; e.printStackTrace();
;;;;;;;;;;; }
;;;;;;; }
;;; }
}
示例:从键盘读入一系列字符串,排序后进行输出
import java.io.*;
import java.util.*;
public class Text {
;;
;;; public static void main(String[] args)
;;; {
;; String a[]=new String[5];
;; InputStreamReader ir;
;; BufferedReader in;
;; ir=new InputStreamReader(System.in);
;; in=new BufferedReader(ir);
;; int i;
;; try{for(i=0;i<;5;i )
;; {System.out.print(“输入字符串“ (i 1) “:“);
;; a[i]=new String();
;; a[i]=in.readLine();
;; }
;; }catch (Exception e){
;; }
;; System.out.println(“排序前:“);
;; for(i=0;i<;5;i )
;; System.out.println(a[i]);
;; Arrays.sort(a);
;; System.out.println(“排序后:“);
;; for(i=0;i<;5;i )
;; System.out.println(a[i]);
;;; }
}
java BufferedReader例程
最新推荐文章于 2024-09-15 09:47:04 发布