java基础学习心得——字节流读取文章的3种方法
2014-05-28 11:39
405 查看
第一种方法:单个字节读取并返回:
第二种方法:定义一个缓冲区,当缓冲区满时或读到文件结尾处返回值:
第三种方法:使用available()方法测试r对象的长度,定义一个相同大小的字符数组,一次性传值
public static void readFile()throws IOException { FileInputStream fis = new FileInputStream ("fos.txt"); int ch; while((ch = fis.read())!=-1) { System.out.println((char)ch); } fis.close(); }这种方法效率比较低,每读取一个字符要向外输出一个字符,尤其体现在文件复制上。
第二种方法:定义一个缓冲区,当缓冲区满时或读到文件结尾处返回值:
public static void readFile()throws IOException { FileInputStream fis = new FileInputStream ("fos.txt"); int len; byte[] ch = new byte[1024]; while((len=fis.read(ch))!=-1) { System.out.print(new String(ch,0,len)); } fis.close(); }这种方法设置了缓冲区,提高了读写效率,对大数据文件的复制有较好的效果。对于字节数组ch大小的选取,可视情况而定。
第三种方法:使用available()方法测试r对象的长度,定义一个相同大小的字符数组,一次性传值
public static void readFile()throws IOException { FileInputStream fis = new FileInputStream ("fos.txt"); int len = fis.available(); byte[] ch = new byte[len]; fis.read(ch); System.out.print(new String(ch)); fis.close(); }这种方法没有使用while循环,读写效率最高,适用于较小的文件读取。但是,当文件较大时,由于内存的限制,这种方法失效。
相关文章推荐
- 黑马程序员--Java基础学习之IO流之字节流、字符流、读取写入文件、Copy文件、键盘输入输出、流操作的基本规律
- java中finalizer终结方法学习心得
- java基础学习__多线程(停止线程,守护线程,join方法)
- java 从零开始,学习笔记之基础入门<类_方法_构造器>(三)
- 黑马程序员—6—Java基础:内部类学习笔记和心得体会
- 黑马程序员—3—Java基础: 构造函数简介与用法和学习心得体会
- Java基础学习之(二)—对象与类的方法参数
- 【Java学习笔记】基础知识学习18【一个小文件的复制方法】
- java中finalizer终结方法学习心得
- Java基础学习心得1
- 黑马程序员—1—Java基础:环境变量学习笔记和心得体会
- java学习笔记——jsp简单方法读取txt文本数据
- 【Java学习笔记】基础知识学习6【类的基础、方法,对象基础、包】
- Java基础学习笔记之一_JVM参考文章
- Java基础知识学习六(字节流与字符流)
- Java基础第十七天学习日记_Collections和Arrays的常用方法、高级for循环、可变参数、静态导入
- JAVA学习(十五)__java读取图片的几种方法
- Java中各种修饰符与访问修饰符的说明--基础 (P.S 怎么转载别人的文章,我是复制过来的,求方法)
- 黑马程序员—4—Java基础: 面向对象继承学习笔记和学习心得体会
- 黑马程序员—2—Java基础:循环体的区别于联系和学习心得体会