编写程序:实现文件的创建与内容写入
package day20_javaIO_Demo; import java.io.BufferedReader; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.util.Scanner; /* * 文件保存处理程序 * 从键盘输入文件的内容和要保存的文件名称,然后根据输入的名称创建文件,并将内容保存到文件中 * 本程序只要求开发者保存的是文件名称并不需要设置文件路径 * *为了防止复制错误或者因为空格导致的错误,会先trim()一下,再equals()比较 */ class StringUtil { //输入字符串的处理方法 public StringUtil() {} public static String getString (String prompt) { BufferedReader bufile = new BufferedReader (new InputStreamReader(System.in)) ; String str = null ; boolean flag = true ; while (flag) { System.out.println(prompt); try { str = bufile.readLine() ; if (!"".equals(str)) { flag = false ; }else { System.out.println("输入内容不允许为空"); } } catch (IOException e) { System.out.println("输入内容不允许为空"); } } return str ; } } interface IFileService { //定义一个文件操作的服务接口 //定义文件路径(利静态常量) public static final String SVAE_DIR = "G:"+File.separator+"java"+File.separator ; /** * 定义文件的保存处理方法 * @return 保存成功返回成功,否则返回失败 */ public String save () ; } class FileServiceImpl implements IFileService { private String fname ; //文件名称 private String fcontent ;//文件内容 public FileServiceImpl() { this.fname = StringUtil.getString("请输入保存文件的名称") ; this.fcontent = StringUtil.getString("请输入保存文件的内容") ; } @Override public String save() { File file = new File (IFileService.SVAE_DIR + this.fname) ; PrintWriter out = null; try { out = new PrintWriter(new FileOutputStream(file)); out.print(this.fcontent); } catch (FileNotFoundException e) { return "文件保存失败" ; }finally { if (out != null) { out.close(); } } return "文件保存成功" ; } } //添加工厂类 class FactoryFile { //获得文件使用信息 private FactoryFile () {} public static IFileService getInstance (){ return new FileServiceImpl() ; } } public class java_FileSave { static {//项目启动的时候该路径应该首先创建 File file = new File (IFileService.SVAE_DIR) ; if (!file.exists()) {//如果目录不存在则创建目录 file.mkdirs(); //创建目录 } } public static void main(String[] args) { IFileService fileService = FactoryFile.getInstance() ; System.out.println(fileService.save()); } }
编写程序:实现文件的创建与内容写入(File类应用+BufferedReader应用)
最新推荐文章于 2024-05-28 09:25:11 发布