IO之FileWriter读取字符型文件

来源:互联网 发布:icam自动编程破解版 编辑:程序博客网 时间:2024/06/06 01:46

好记性不如赖笔头…………

FileWriter在读取文件时,常用的方法有两种:

  1. 使用read()方法一次读取一个字符
  2. 使用read(char[] chs)方法一次读取一定数量的字符,相对来说,这种方法效率更高
package com.Ckinghan.ioDemo;import java.io.FileNotFoundException;import java.io.FileReader;import java.io.IOException;public class FileReaderDemo {    public static void main(String[] args) {        /**         * 一个个读取字符         */        fileReader();        System.out.println("--------------------------------------------------------------------我是分离线--------------------------------------------------------------------");        /**         * 一次读取指定数量的字符         */        fileReader2();    }    /**     * @描述:一次读取指定数量的字符     * @创建时间:     */    public static void fileReader2(){        FileReader fileReader = null;        try {            //创建FileReader对象            fileReader = new FileReader("JavaIOWriter.java");            int readDate = -1;            //使用read(char[] chars)一次读取指定长度的字符            char[] chars = new char[10];            //如果数据读取到最后没有数据了,就会返回-1,根据这个可以使用循环读取            while ((readDate = fileReader.read(chars)) != -1) {                System.out.print(new String(chars, 0,readDate));            }            //如果文件不存在,会抛出文件找不到异常        } catch (FileNotFoundException e) {            e.printStackTrace();            //当读取文件时,如果文件不存在或被占用,就会抛出IO异常        }catch (IOException e) {            e.printStackTrace();        }finally {            //如果fileReader不等于NULL,则关头流            if(fileReader != null){                try {                    fileReader.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }    /**     * @描述:一个个读取字符     * @创建时间:     */    public static void fileReader(){        FileReader fileReader = null;        try {            //创建FileReader对象            fileReader = new FileReader("JavaIOWriter.java");            int readDate = 0;            //使用read()每次只能读取一个字符,并且会转换为ascii码返回            readDate = fileReader.read();            System.out.println("第一次读到的数据为:"+readDate+";转换字符为:"+(char)readDate);            //如果数据读取到最后没有数据了,就会返回-1,根据这个可以考虑使用循环读取            while ((readDate = fileReader.read()) != -1) {                System.out.print((char)readDate);            }            //如果文件不存在,会抛出文件找不到异常        } catch (FileNotFoundException e) {            e.printStackTrace();            //当读取文件时,如果文件不存在或被占用,就会抛出IO异常        }catch (IOException e) {            e.printStackTrace();        }finally {            //如果fileReader不等于NULL,则关头流            if(fileReader != null){                try {                    fileReader.close();                } catch (IOException e) {                    e.printStackTrace();                }            }        }    }}
0 0
原创粉丝点击