黑马程序员技术交流社区

标题: 关于字符流 读取文件 [打印本页]

作者: TK13761    时间: 2013-3-21 20:28
标题: 关于字符流 读取文件
本帖最后由 谭仁龙 于 2013-3-22 07:51 编辑

字符流在读取文件的时  在加载文件时候是否是将文件全部加载进流 ? 还有就是为什么要定义数组,定义多大呢?


作者: 随风而去    时间: 2013-3-21 20:50
no 这个肯定是视情况而定的
举个简单例子吧
FileInputStream fis=null;
                                byte[] b=new byte[1024]; //这个是读取文件内容 每次读取都读取1024个字节 就是你说的数组
                                try {
                                        fis =new FileInputStream(f);
                                        int date =-1;
                                                                   //开始读取文件  这行代码是重点 fis.read(b) 这个是重文件中读取 如果没有就会返回一个状态值
                                        while((date=fis.read(b))!=-1){  
                                                String s =new String(b,0,date);  //详细见api文档
                                                System.out.print (s);
                                        }
作者: 随风而去    时间: 2013-3-21 20:52
忘记说了 定义的数组大小根据你的内存和业务情况而定 一般读个10kb就可以了 一次读取太多太占用内存了
作者: TK13761    时间: 2013-3-21 20:55
随风而去 发表于 2013-3-21 20:52
忘记说了 定义的数组大小根据你的内存和业务情况而定 一般读个10kb就可以了 一次读取太多太占用内存了 ...

谢谢 明白了一点了




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