3、创建文件,写入数据, 重新封装,请老师检查,感恩!
来源:16-20 测评作业

mottoyin
2025-02-23
UserFileWriter类
package com.imooc.chapter16test;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
public class UserFileWriter {
//私有成员属性bufferWriter
private BufferedWriter bufferedWriter;
private FileWriter fileWriter;
//不含餐的构造方法
public UserFileWriter() {
}
public BufferedWriter getBufferedWriter() {
return bufferedWriter;
}
public void setBufferedWriter(BufferedWriter bufferedWriter) {
this.bufferedWriter = bufferedWriter;
}
public FileWriter getFileWriter() {
return fileWriter;
}
public void setFileWriter(FileWriter fileWriter) {
this.fileWriter = fileWriter;
}
/**
* 写入字符串
* @param content 用户控制台输入的字符串
* @param file 传入用户创建的File对象
*/
public void writeUserInput(File file, String content){
try {
//实例化fileWriter对象,追加内容为真
fileWriter = new FileWriter(file,true);
//实例化bufferedWriter对象,传入fileWriter对象
bufferedWriter = new BufferedWriter(fileWriter);
//写入用户传入的字符串
bufferedWriter.write(content);
//写入换行
bufferedWriter.newLine();
} catch (IOException e) {
System.out.println(e.getMessage());
}finally {
//如果fileWriter与bufferedWriter都不为空
//将缓冲区内容写入文件关闭缓冲区
if(fileWriter != null && bufferedWriter != null){
try {
fileWriter.flush(); //关闭缓冲区
bufferedWriter.flush();
fileWriter.close();
bufferedWriter.close();
} catch (IOException e) {
System.out.println(e.getMessage());
}
}
}
}
}
测试类
package com.imooc.chapter16test;
import java.io.File;
import java.util.Scanner;
public class UserFileWriterTest {
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.println("请输入字符串: ");
Scanner sc = new Scanner(System.in);
String contents = sc.nextLine();
UserFileWriter userFileWriter = new UserFileWriter();
userFileWriter.writeUserInput(file,contents);
System.out.println("写入数据完成");
}
}
写回答
1回答
-
彭彭老师
2025-02-24
没有问题
00
相似问题