Reader类和Writer类

ReaderWriter

操作是对字符的形式

FileReaderFileWriter介绍

继承关系图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-c2Aggouy-1646655555109)(E:\Typora笔记\java笔记\img\image-20220305165933415.png)]

FileReader

构造器:

Constructor and Description
FileReader(File file) 创建一个新的 FileReader ,给出 File读取。
FileReader(FileDescriptor fd) 创建一个新的 FileReader ,给定 FileDescriptor读取。
FileReader(String fileName) 创建一个新的 FileReader ,给定要读取的文件的名称。

常用方法:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s4azcVVN-1646655555110)(E:\Typora笔记\java笔记\img\image-20220305170129013.png)]

案例演示:

要求:使用FileReader从story.txt读取内容,并显示
package IO_.reader_;

import org.junit.jupiter.api.Test;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 * @author: 海康
 * @version: 1.0
 */
public class FileReader1 {
    public static void main(String[] args) {

    }

    @Test
    public void fileReader(){
        String filePath = "e:\\IDEACODE\\javase\\story.txt";
        FileReader fileReader = null;

        try {
            fileReader = new FileReader(filePath);
            char[] dataFile = new char[1024*8];
            int length = 0;
            while ((length=fileReader.read(dataFile))!=-1){
                System.out.println(new String(dataFile,0,length));
            }
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            if (fileReader != null) {
                try {
                    fileReader.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }

    }
}
FileWriter

构造器:

Constructor and Description
FileWriter(File file) 给一个File对象构造一个FileWriter对象。
FileWriter(File file, boolean append) 给一个File对象构造一个FileWriter对象。
FileWriter(FileDescriptor fd) 构造与文件描述符关联的FileWriter对象。
FileWriter(String fileName) 构造一个给定文件名的FileWriter对象。
FileWriter(String fileName, boolean append) 构造一个FileWriter对象,给出一个带有布尔值的文件名,表示是否附加写入的数据。

常用方法:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cwtc5kYd-1646655555111)(E:\Typora笔记\java笔记\img\image-20220305171420429.png)]

FileWriter类必须要关闭close或刷新flush,否则写入不到指定的文件

package IO_.writer_;

import org.junit.jupiter.api.Test;

import java.io.File;
import java.io.FileWriter;
import java.io.IOException;


/**
 * @author: 海康
 * @version: 1.0
 */
public class FIleWriter1 {
    public static void main(String[] args) {

    }


    @Test
    public void fileWriter(){
       FileWriter fileWriter = null;
       String writerPath = "e:\\IDEACODE\\javase\\not.txt";
        File file = new File(writerPath);
        System.out.println(file.exists());
        try {
            fileWriter = new FileWriter(file,true);// 表示是追加的方式
            // 写入单个字符 write(int)
            fileWriter.write('E');

            // 写入指定数组 write(char[])
            char[] ch = {'e','e','j','e'};
            fileWriter.write(ch);

            // 写入整个字符串 write(string)
            String writerContext = "风雨之后 ,定见彩虹!!!";
            fileWriter.write(writerContext);


            // 写入指定字符串的某个部分 write(string,int,int)
            String writerContext2 = "海康湛江";
            fileWriter.write(writerContext2,0,2);

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            // 对 FileWriter 类写入必须要刷新或关闭流,才能写入内容,否则写不入内容
            // 刷新
//            try {
//                fileWriter.flush();
//            } catch (IOException e) {
//                e.printStackTrace();
//            }

            // 关闭流
            if (fileWriter!=null) {
                try {
                    fileWriter.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值