4、在“第3题”的基础上,读取文件数据, 请彭彭老师检查,将读取与输入的测试放在了一起

来源:16-20 测评作业

mottoyin

2025-02-23

UserFileReader类

package com.imooc.chapter16test;

import java.io.*;

public class UserFileReader {
    //私有成员属性bufferWriter
    private BufferedReader bufferedReader;
    private FileReader fileReader;

    //不含餐的构造方法
    public UserFileReader() {
    }

    public BufferedReader getBufferedReader() {
        return bufferedReader;
    }

    public void setBufferedReader(BufferedReader bufferedReader) {
        this.bufferedReader = bufferedReader;
    }

    public FileReader getFileReader() {
        return fileReader;
    }

    public void setFileReader(FileReader fileReader) {
        this.fileReader = fileReader;
    }

    /**
     * 读出文件内容
     * @param file 传入用户创建的File对象
     */
    public void readUserInput(File file){
        try {
            //实例化fileReader对象
            fileReader = new FileReader(file);
            //实例化bufferedReader对象,传入file对象
            bufferedReader = new BufferedReader(fileReader);
            //读出用户传入的字符串
            while(true) {
                String readStr = bufferedReader.readLine();
                if(readStr == null) {
                    break;
                }
                System.out.println(readStr);
            }
            System.out.println("文件内容读取完毕...");

        } catch (IOException e) {
            System.out.println(e.getMessage());
        }finally {
            //如果fileReader与bufferedReader都不为空
            //关闭资源
            if(fileReader != null && bufferedReader != null){
                try {
                    fileReader.close();
                    bufferedReader.close();
                } catch (IOException e) {
                    System.out.println(e.getMessage());
                }
            }
        }
    }
}

测试类

package com.imooc.chapter16test;

import java.io.File;
import java.util.Scanner;

public class UserFileReaderWriterTest {
    public static void main(String[] args) {
        String fileName = "readme.txt"; //文件名
        String directory = "./"; //当前目录

        //使用File(String parent, String child)实例化File对象
        File file = new File(directory,fileName);

        //提示用户输入字符串并捕捉用户输入
        System.out.print("请输入字符串: ");
        Scanner sc = new Scanner(System.in);
        String contents = sc.nextLine();

        UserFileWriter userFileWriter = new UserFileWriter();
        userFileWriter.writeUserInput(file,contents);
        System.out.println("写入数据完成");

        System.out.println("--------------------------------------");
        System.out.println("文件内容是: ");
        //读取用户输入的数据
        UserFileReader userFileReader = new UserFileReader();
        userFileReader.readUserInput(file);
    }
}

写回答

1回答

彭彭老师

2025-02-24

没有问题,作业完成的很好

0
0

Java零基础入门与实战

Java零基础入门与实战 多场景|多案例|全栈项目

277 学习 · 220 问题

查看课程