java入门IO流--BufferedInputStream&&BufferedOutputStream

来源:互联网 发布:plc编程100例ppt 编辑:程序博客网 时间:2024/04/27 23:09

要点:
1、BufferedInputStream是FileInputStream的一个 包装类,同样也是从文件读取数据到程序当中,读取的是字节流。BufferedInputStream与FileInputStream不同点就是BufferedInputStream对FileInputStream的对象进行一个包装(也就是给FileInputStream的对象增加了其他的功能–自带缓冲功能)
2、BufferedOutputStream是FileOutputStream的一个包装类,同样是将程序中的数据读取到文件当中,读取的字节流。
功能描述:
1、我们要将程序中的数据写入到文件zsj.txt。
2、将zsj.txt中的数据读取到程序中,并将其输出
步骤:
1、首先实现程序的第一个功能,我们首先要利用FileOutputStream 的构造方法FileOutputStream(File file)将文件zsj.txt和FileOutputStream对象关联。此时所在的project会自动生成一个zsj.txt文件。

FileOutputStream fo = new FileOutputStream("zsj.txt");

2、我们必须利用BufferedOutputStream的构造方法BufferedInputStream(OutputStream out )将FileOuputStream的对象fo进行一个包装。

BufferedOutputStream bo = new BufferedOutputStream(fo);

3、我们定一个一个String数组

String[] s = new String[] {"good good study,day day up",                           "To be or not to be,that's a   big question"};

4、利用String类的getBytes()方法将String类型数据转换成byte型数据,
利用一个byte[]型数组接受转换的String数据。利用BufferedOutputStream的方法write(byte[] b,int off,int len)将byte[]数组中的内容写入到zsj.txt中。

for(int i = 0;i<s.length;i++) {            byte[] b = s[i].getBytes();            bo.write(b);        }       

5、现在实现将zsj.txt中的数据读取到程序并输出显示。首先利用FileInputStream(File file)构造方法将文件zsj.txt文件进行一个关联。

FileInputStream fi = new FileInputStream("zsj.txt");

6、利用BufferedInputStream的构造方法BufferedInputStream(InputStream in)对fi进行包装。

BufferedInputStream bi = new BufferedInputStream(fi);

7、定义一个整型变量c用来读取文件zsj.txt的数据,知道读到文件的末尾,返回-1即停止。

int c = 0;        while((c=bi.read())!=-1) {            System.out.println((char)c);        }

8、关闭流,释放资源

bo.close();bi.close();

总的代码实现

package day10_7;import java.io.BufferedInputStream;import java.io.BufferedOutputStream;import java.io.FileOutputStream;import java.io.FileInputStream;public class BufferedInputDemo {    public static void main(String[] args) throws Exception{        FileOutputStream fo = new FileOutputStream("zsj.txt");        BufferedOutputStream bo = new BufferedOutputStream(fo);        String[] s = new String[] {"good good study,day day up",                                   "To be or not to be,that's a big question"};        for(int i = 0;i<s.length;i++) {            byte[] b = s[i].getBytes();            bo.write(b);        }        FileInputStream fi = new FileInputStream("E:\\Java_Program\\day10_7\\zsj.txt");          BufferedInputStream bi = new BufferedInputStream(fi);        int c = 0;        while((c=bi.read())!=-1) {            System.out.println((char)c);        }        bo.close();        bi.close();        }}
阅读全文
0 0