Java --IO的总结

本文详细介绍了Java中IO流的应用场景及使用方法,包括字节流与字符流的区别、缓冲流的使用技巧等,并通过具体实例展示了如何高效地进行文件读写。

1.对于字符流个字节流的区分使用:只要是处理纯文本数据,就优先考虑使用字符流【readerh h 和 writer】。 除此之外都使用字节流。

2.对于使用字节流的时候,大部分使用 BufferedInputStream 和 BufferedOutputStream 这两个对象,效率最快。

实例:

            bis = new BufferedInputStream(new FileInputStream(pathName));
            bos = new BufferedOutputStream(response.getOutputStream()); //下载的使用的输出流对象

            byte[] buff = new byte[1024];
            int len = 0;
            while ((len = bis.read(buff)) !=-1) { //bis对象把读取的字节存储到 数组buff中,返回存储的长度,如果读取完毕返回 -1
                bos.write(buff, 0, len); //bos对象把buff字节写入到文件中
            }
            bos.flush();

            bis.close();
            bos.close();

        

3.对于字符流使用  BufferedWriter 和 BufferedReader 

实例:

  BufferedReader br = new BufferedReader(new FileReader(file));
        BufferedWriter bw = new BufferedWriter(new FileWriter(new File("D://3.txt")));
        String str = null;
        while((str= br.readLine()) != null){     //br.readLine()把读取的数据返回一个String 类型的字符串
            bw.write(str);
            bw.newLine();  //换行
        }
        bw.flush();
        br.close();
        bw.close();

---------------------------------------------------------------------------

进行IO流的选择步骤

1。明确哪个是源,哪个是目的。(源就是从这边使用输入流进行读取,目的就是使用输出流写入到这边)

2。明确操作的是否为纯文本, 如果是纯文本就使用字符流,如果不是就使用字节流。

3。是否要提高效率,提高效率 使用对应的 缓冲流对象:【BufferedReader ,  BufferedWriter   BufferedInputStream ,   BufferedOutputStream】

4。是否需要按照指定的编码表,将数据存到文本: 是的话 需要选择 InputStreamReader  和 OutputStreamWriter 这两个对象,  InputStreamReader  和 OutputStreamWriter 是沟通字节流和字符流的对象。 按照一定的编码方法去读取或者写入文本。实例:

         InputStreamReader inr = new InputStreamReader(new FileInputStream(file), "utf-8");
        OutputStreamWriter os = new OutputStreamWriter(new FileOutputStream(file), "utf-8");

 

转载于:https://my.oschina.net/u/2870118/blog/820206

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值