A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangxun 中级黑马   /  2014-9-7 10:32  /  1002 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

字节流:
InputStream是表示字节输入流的所有类的超类。
     |--- FileInputStream从文件系统中的某个文件中获得输入字节。哪些文件可用取决于主机环境。FileInputStream 用于读取诸如图像数据之类的原始字节流。要读取字符流,请考虑使用 FileReader
    |--- FilterInputStream包含其他一些输入流,它将这些流用作其基本数据源,它可以直接传输数据或提供一些额外的功能。
        |--- BufferedInputStream该类实现缓冲的输入流。        
|--- Stream
     |--- ObjectInputStream   
  |--- PipedInputStream
-----------------------------------------------
OutputStream此抽象类是表示输出字节流的所有类的超类。
     |--- FileOutputStream文件输出流是用于将数据写入 File FileDescriptor 的输出流。
     |--- FilterOutputStream此类是过滤输出流的所有类的超类。      
   |--- BufferedOutputStream该类实现缓冲的输出流。      
   |--- PrintStream
        |--- DataOutputStream     
|--- ObjectOutputStream   
  |--- PipedOutputStream
--------------------------------
缓冲区是提高效率用的,给谁提高呢?
BufferedWriter是给字符输出流提高效率用的,那就意味着,缓冲区对象建立时,必须要先有流对象。明确要提高具体的流对象的效率。
FileWriter fw = new FileWriter("bufdemo.txt");
BufferedWriter bufw = new BufferedWriter(fw);//让缓冲区和指定流相关联。
for(int x=0; x<4; x++){
bufw.write(x+"abc");
bufw.newLine(); //写入一个换行符,这个换行符可以依据平台的不同写入不同的换行符。
bufw.flush();//对缓冲区进行刷新,可以让数据到目的地中。
}
bufw.close();//关闭缓冲区,其实就是在关闭具体的流。
-----------------------------
BufferedReader
FileReader fr = new FileReader("bufdemo.txt");
BufferedReader bufr  = new BufferedReader(fr);
String line = null;
while((line=bufr.readLine())!=null){  //readLine方法返回的时候是不带换行符的。
System.out.println(line);
}
bufr.close();
-----------------------------
//记住,只要一读取键盘录入,就用这句话。
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(new OutputStreamWriter(System.out));//
输出到控制台
String line = null;
while((line=bufr.readLine())!=null){
if("over".equals(line))
break;
bufw.write(line.toUpperCase());//将输入的字符转成大写字符输出
bufw.newLine();
bufw.flush();
}
bufw.close();
bufr.close();

评分

参与人数 1技术分 +1 收起 理由
格子、 + 1 很给力!

查看全部评分

1 个回复

倒序浏览
自己总结的技术博客吗
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马