黑马程序员技术交流社区

标题: 输入输出流(低层、高层输入流) [打印本页]

作者: 唐溪永    时间: 2012-2-22 23:40
标题: 输入输出流(低层、高层输入流)

输入输出流的理解:在java使用流的机制进行数据的传送,从文件到内存是输入流,从内存到文件是输出流,输入流可以通过 read读取,输出流以write或print写入,这个相当的明白,但是下面就有点晕了,谁能写个例子解答下:
对于流可以是分为高层流和低层流,低层以一个字节或字符为单位进行处理,高层流以一批数据为单位进行处理。
难道,低层流就不能用一批数据为单位进行处理,高层流就不能以字节或字符为单位进行处理?
       
作者: 仵先进    时间: 2012-2-22 23:52
我以前在网上看到过类似的例子:你看看吧
这是一个读写文件的程序,用了两种方式一种是低层流另一种是高层流
import java.io.FileWriter;
import java.io.InputStream;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.BufferedReader;
import java.io.FileReader;


public class Untitled1 {
    public static void writeFileChar() throws Exception {
        FileWriter f = new FileWriter("c:\\aa.txt");
        InputStream is = System.in;
        int c = is.read();
        while (((char) c) != 'x') {
            f.write(c);
            c = is.read();
        }
        f.close();
        is.close();
    }

    public static void writeFileString() throws Exception {
        FileWriter f = new FileWriter("c:\\aa.txt");
        BufferedWriter bwr=new BufferedWriter(f);
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        String c = bf.readLine();
        while (!c.equals("stop")) {
            bwr.write(c+"\r\n");
            c = bf.readLine();
        }
        bwr.close();
        f.close();
        bf.close();
    }
   
    public static void readFileChar() throws Exception {
       FileReader f = new FileReader("c:\\aa.txt");
       int c = f.read();
       while (c!=-1) {
           System.out.print((char)c);
           c=f.read();
       }
       f.close();
   }

   public static void readFileString() throws Exception {
       BufferedReader bf = new BufferedReader(new FileReader("c:\\aa.txt"));
       String c = bf.readLine();
       while (c!=null)
       {
           System.out.println(c);
           c=bf.readLine();
       }
       bf.close();
   }


    public static void main(String[] args) throws Exception {
        readFileString();
    }
}
作者: 成都校区    时间: 2012-2-23 10:57
高层流是对底层流进行了一次包装(加了几个缓冲区)
最后还是会以底层流的方式读写,




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2