Skip to content

Commit a42a630

Browse files
committed
update
1 parent a3ac0fa commit a42a630

File tree

1 file changed

+35
-1
lines changed

1 file changed

+35
-1
lines changed

Diff for: lib/utils/CSVUtil.java

+35-1
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,12 @@
11
package javaToolkit.lib.utils;
22

3+
import java.io.BufferedReader;
4+
import java.io.FileReader;
35
import java.io.FileWriter;
6+
import java.io.IOException;
47
import java.nio.file.Path;
58
import java.util.ArrayList;
9+
import java.util.Arrays;
610
import java.util.List;
711
import java.util.stream.Collectors;
812

@@ -16,7 +20,7 @@ public static void writeLine2Csv(List<String> strList, Path filePath, Boolean if
1620
if (ifAppendNewLine) {
1721
collect += "\n";
1822
}
19-
System.out.println(collect);
23+
// System.out.println(collect);
2024

2125
writer.write(collect);
2226
writer.close();
@@ -177,4 +181,34 @@ public static List<String> parseLine(String cvsLine, char separator, char quote)
177181
return result;
178182
}
179183

184+
public static List<List<String>> loadCSVTo2DList(Path filePath, Boolean ifWithHeader) {
185+
String line = "";
186+
String cvsSplitBy = ",";
187+
List<List<String>> data = new ArrayList<>();
188+
189+
try (BufferedReader br = new BufferedReader(new FileReader(filePath.toString()))) {
190+
191+
// skip header
192+
line = br.readLine();
193+
while ((line = br.readLine()) != null) {
194+
195+
// use comma as separator
196+
String[] row = line.split(cvsSplitBy);
197+
List<String> strings = Arrays.asList(row);
198+
data.add(strings);
199+
200+
}
201+
202+
} catch (IOException e) {
203+
System.out.println(line);
204+
e.printStackTrace();
205+
System.exit(0);
206+
} catch (ArrayIndexOutOfBoundsException e) {
207+
System.out.println(line);
208+
e.printStackTrace();
209+
System.exit(0);
210+
}
211+
return data;
212+
}
213+
180214
}

0 commit comments

Comments
 (0)