从键盘输入字符,写入到文件D:⼀test⼀mytest1.txt中,exit退出输入 * 将mytest1.txt复制到mytest2.txt中,

2024-12-31 11:47:58
推荐回答(1个)
回答1:

package test;
import java.io.*;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class TestMyTest {
 /**
  * @param 从键盘输入字符,写入到文件D:/test/mytest1.txt中,exit退出输入
  * 将mytest1.txt复制到mytest2.txt中,并在该文件末尾加入复制时间,将mytest2.txt读取到
  * 屏幕显示
  */
 public static void main(String[] args) {
  // TODO 由键盘输入并写入mytest1.txt中
  String s = null;
  int w = 0;
  FileReader frr = null;
  FileReader rfr= null;
  FileWriter wfw = null;
  DateFormat df = new SimpleDateFormat("yyyy年mm月dd日hh时mm分ss秒");
  //由键盘读取数据
  BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  try {
   // 首先判断文件是否存在,如果不存在就先创建文件
   File file = new File("d:/test/mytest1.txt");
   if(!file.exists()){
   File parentFile = file.getParentFile();
   if(!parentFile.exists()){
   parentFile.mkdirs();
   }
   file.createNewFile();
   }
   FileWriter fw =new FileWriter(file);
   //管道bw套在管道fw上
   BufferedWriter bw = new BufferedWriter(fw);
   //判断写入
   while((s=br.readLine())!=null){
    if(s.equalsIgnoreCase("exit")){
     System.out.println("输入结束");
     break;
    }
    bw.write(s);
    bw.newLine();
   }
   //清空关闭
   bw.flush();
   bw.close();
   rfr = new FileReader("d:/test/mytest1.txt");
   // 首先判断文件是否存在,如果不存在就先创建文件
   File file2 = new File("d:/test/mytest2.txt");
   if(!file2.exists()){
   File parentFile2 = file.getParentFile();
   if(!parentFile2.exists()){
   parentFile2.mkdirs();
   }
   file2.createNewFile();
   }
   
   
   wfw = new FileWriter("d:/test/mytest2.txt");
   while((w=rfr.read())!=-1){
    wfw.write(w);
   }
   //在文件末尾加入时间
   wfw.write("----------文件复制时间-------------");
   wfw.write(df.format(new Date()));
   wfw.flush();
   wfw.close();
   rfr.close();
   
   int r =0;
   frr = new FileReader("d:/test/mytest2.txt");
   while((r=frr.read())!=-1){
    System.out.print((char)frr.read());
   }
   frr.close();
  } catch (IOException e) {
   // TODO Auto-generated catch block
   System.out.println("输入输出异常");
   e.printStackTrace();
  }
 }
}