excuse my english, I`m a beginer in java and I want to remove duplicate cities + rearrenging file`s lines elements from one 150 mb file, in my file I have that:
"68586240","68586367","IRVING"
"68586368","68586431","DENTON"
"68586432","68586495","DENTON"
and I want to become
"68586240","68586367","IRVING"
"68586368","68586495","DENTON"
i mean
1 2 x
3 4 x
5 6 y
become
1 4 x
5 6 y
I have allready done the program but i`m stuck . can anyone help me?
Expand|Select|Wrap|Line Numbers
- import java.util.regex.*;
- import java.io.*;
- public class test {
- private static final String REGEX = ",";
- private static Pattern pattern;
- public static void main(String[] argv) {
- pattern = Pattern.compile(REGEX);
- try{
- FileInputStream fstream = new FileInputStream("test.txt");
- DataInputStream in = new DataInputStream(fstream);
- BufferedReader br = new BufferedReader(new InputStreamReader(in));
- String strLine;
- int i = 1;
- BufferedWriter make_file = new BufferedWriter(new FileWriter("file_temp.txt", true));
- String make_test = "\"TEST\",\"TEST\",\"TEST\"";
- make_file.write(make_test);
- make_file.close();
- BufferedWriter out = new BufferedWriter(new FileWriter("good.txt", true));
- while ((strLine = br.readLine()) != null) {
- //explode line
- String[] items = pattern.split(strLine);
- // read + memory content from temp file
- FileReader input = new FileReader("file_temp.txt");
- BufferedReader bufRead = new BufferedReader(input);
- String line = "";
- String temp = "";
- line = bufRead.readLine();
- while (line != null){
- temp = temp+line;
- line = bufRead.readLine();
- }
- bufRead.close();
- // explode line from temp file
- String[] items_temp = pattern.split(temp);
- //delete temp file
- new File("file_temp.txt").delete();
- BufferedWriter out_temp = new BufferedWriter(new FileWriter("file_temp.txt", true));
- out_temp.write(strLine);
- out_temp.close();
- String x1 = items_temp[2];
- String x2 = items[2];
- if (x1.equalsIgnoreCase(x2)) {
- // ??????????
- }
- else {
- out.write(items[0]+","+items_temp[1]+","+items[2]+"\n");
- /*
- input output correct
- 1 2 x 1 2 x 1 4 x
- 3 4 x 5 6 y 5 6 y
- 5 6 y
- */
- }
- System.out.println(i+"-"+strLine);
- i++;
- }
- out.close();
- in.close();
- }
- catch (Exception e){
- System.err.println("Error: " + e.getMessage());
- }
- }
- }