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