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();
}
}
}