员工打卡问题(IO流读写文件)

    技术2022-05-20  32

    D:/cardRecord.txt

     

     

    EMP-00018-2009041708551STU-00019-2009041709002EMP-00008-2009041709023STU-00118-2009041708515STU-01018-2009041709914EMP-00218-2009041710006EMP-00318-2009041711117

     

     

     

     

     

    import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileReader;import java.io.FileWriter;import java.io.IOException;import java.util.ArrayList;import java.util.List;

    /** * D盘下的cardRecord.txt记录的是某公司员工上班打卡记录,员工上班早上9:00为未早退,9:00以后为迟到, * 输出该公司员工迟到的情况,D盘beLate.txt用于输出员工迟到的记录 *  * @author sageparadise *  */public class IOReadLine { public void readAndWriter() throws IOException {  List<String> list = new ArrayList<String>();  // 文件定位  File file = new File("D://cardRecord.txt");  // 写入输出流  FileReader fr = new FileReader(file);  // 写入缓冲区  BufferedReader br = new BufferedReader(fr);  FileWriter fw = null;  BufferedWriter bw = null;  // 判断A.txt是否还有内容要写入缓冲区  while (br.ready()) {   // 每次对写入到缓冲区一行   String str = br.readLine();   // 取出上班的具体时间 EMP-00008-2009041709023   String str1 = str.substring(18, 22);   // System.out.println(str1);   int s = Integer.parseInt(str1);   // 判断是否是9:00以前上班   if (s > 900) {    // 打印到控制台上    System.out.println(str);    list.add(str);   }   // 读取文件,读取到磁盘的某个目录下 输出到指定的文件中   File fileOut = new File("D://beLate.txt");   // 从缓冲区中读取文件,并读取到指定的文件中   fw = new FileWriter(fileOut);   bw = new BufferedWriter(fw);   for (String str2 : list) {    bw.write(str2 + "/r/n");   }  }  br.close();  fr.close();  bw.close();  fw.close(); }

     public static void main(String args[]) {  IOReadLine ior = new IOReadLine();  try {   ior.readAndWriter();  } catch (IOException e) {

       e.printStackTrace();  } }

    }


    最新回复(0)