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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© Hey丶小黑 中级黑马   /  2014-8-6 11:17  /  720 人查看  /  0 人回复  /   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 = newFileReader("bufdemo.txt");
    BufferedReaderbufr  = new BufferedReader(fr);
    String line = null;
    while((line=bufr.readLine())!=null){  //readLine方法返回的时候是不带换行符的。
        System.out.println(line);
    }
    bufr.close();
-----------------------------
//记住,只要一读取键盘录入,就用这句话。
BufferedReader bufr = new BufferedReader(newInputStreamReader(System.in));
BufferedWriter bufw = new BufferedWriter(newOutputStreamWriter(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();

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马