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

本文介绍了一个Java程序,该程序读取员工的打卡记录并分析迟到情况。通过解析文本文件中的打卡时间,筛选出迟到的员工记录,并将这些记录输出到另一个文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

D:/cardRecord.txt

 

 

EMP-00018-2009041708551
STU-00019-2009041709002
EMP-00008-2009041709023
STU-00118-2009041708515
STU-01018-2009041709914
EMP-00218-2009041710006
EMP-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();
  }
 }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值