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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© wstm198907 中级黑马   /  2016-7-4 23:44  /  573 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        public class Demo01_ByteArrayOutputStream {
        /**
         * ByteArrayOutputStream
         * 内存输出流
         *
         * FileInputStream读取中文的时候出现了乱码
         *
         * 解决方案
         * 1,字符流读取
         * 2,ByteArrayOutputStream
         * @throws IOException
         */
        public static void main(String[] args) throws IOException {
               
                //demo1();  //FileInputStream读取中文的时候出现乱码举例
               
                //使用ByteArrayOutputStream
                FileInputStream fis = new FileInputStream("aa.txt");
                ByteArrayOutputStream baos = new ByteArrayOutputStream(); //在内存中创建了可以增长的内存数组
               
                int b;
                while((b = fis.read()) != -1){
                        baos.write(b);        //将读取到的数据逐个写到内存中
                }
               
                System.out.println(baos); //默认调用toSting()方法,使用平台默认码表,将缓冲区的内容转换为了字符串
               
                /*byte[] arr = baos.toByteArray();
                System.out.println(new String(arr));//可以使用指定码表转换
*/               
                fis.close();
                baos.close();
        }

1 个回复

倒序浏览
谢谢分享!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马