两个10G的csv文件(t1.csv, t2.csv),两个csv文件里面表头为:id,name,grade
| 12
 3
 
 | id:      String类型name:    String类型
 grade:   String类型
 
 | 
服务器内存只有1G,找出grade不为空,且grade数字大于90的数据,输出到当前目录下t3.csv文件中。
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 
 | import java.io.BufferedReader;import java.io.BufferedWriter;
 import java.io.File;
 import java.io.FileReader;
 
 
 
 
 
 
 @AllArgsConstructor
 public class Reader extends Thread {
 
 private final String path;
 private final BufferedWriter writer;
 
 public void run() {
 File inputFile = new File(path);
 try {
 BufferedReader reader = new BufferedReader(new FileReader(inputFile));
 
 reader.readLine();
 
 while (reader.ready()) {
 String line = reader.readLine();
 String[] splitline = line.split(",");
 double temp = Double.parseDouble(splitline[2]);
 if (temp > 90) {
 writer.write(line);
 writer.newLine();
 writer.flush();
 }
 }
 reader.close();
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 
 }
 
 
 | 
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 
 | import java.io.BufferedWriter;import java.io.File;
 import java.io.FileWriter;
 
 
 
 
 
 
 public class DataFilter {
 
 public static void main(String[] args) {
 File outputFile = new File("C:\\Users\\Yoon\\Desktop\\t3.csv");
 try {
 BufferedWriter bufferedWriter = new BufferedWriter(new FileWriter(outputFile));
 Thread t1 = new Reader("C:\\Users\\Yoon\\Desktop\\t1.csv", bufferedWriter);
 Thread t2 = new Reader("C:\\Users\\Yoon\\Desktop\\t2.csv", bufferedWriter);
 t1.start();
 t2.start();
 } catch (Exception e) {
 e.printStackTrace();
 }
 }
 }
 
 
 |