IO流(3)、文件字符流

一、文件字符流(对文本文件操作)

1、FileReader和FileWriter介绍

        FileReader和FileWriter是字符流,即按照字符来操作io

2、FileReader相关方法

        a、new FileReader(File/String)

        b、read:,每次读取单个字符,返回该字符,如果到文件末尾返回-1

        c、read(char[ ]):批量读取多个字符到数组,返回读取到的字符数,如果到文件末尾返回-1

相关API:

        a、new String (char [ ]):将char[ ]转换成String

        b、new String (char [ ],off ,len):将char[]的指定部分转换成String

3、FileWriter常用方法

        a、new FileWriter(File/String) : 覆盖模式,相当于流的指针在首端

        b、new FileWriter(File/String ,true) : 追加模式,相当于流的指针在尾端

        c、write(int):写入单个字符

        d、write(char[ ]):写入指定数组

        e、write(char[ ],off , len): 写入指定数组的指定部分

        f、write(string):写入整个字符串

        g、write(string,off,len):写入字符串的指定部分

相关API:        String类:toCharArray:将String转换成char[ ]

        note : FileWriter使用后,必须关闭(close)或刷新 (flush),否则写入不到指定的文件

二、文件字符流(使用FileReader和FileWriter进行操作文件)

1、FileReader

@Test
public void test(){
    String filePath = "E:\\mine\\hello.txt";
    FileReader fileReader = null;
    int readLen = 0;
    char[] buf = new char[5];
    try {
        fileReader = new FileReader(filePath);
        while ((readLen = fileReader.read(buf)) != -1){
            System.out.println(new String(buf,0,readLen));
        }
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
            try {
                if (fileReader != null){
                    fileReader.close();
                }
            } catch (IOException e) {
                e.printStackTrace();
        }
    }
}

2、FileWriter

@Test
public void test02(){
    String filePath = "E:\\mine\\fileWriter.txt";
    FileWriter fileWriter = null;
    char[] chars = {'a','b','c'};
    try {
        fileWriter = new FileWriter(filePath); // 默认覆盖写入 true
        fileWriter.write('H');
        fileWriter.write(chars);
        fileWriter.write("郭策".toCharArray(),0,1);
        fileWriter.write("桑高杰");
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (fileWriter != null){
                fileWriter.close();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只鸟儿

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值