Revision 47506 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.file/org.gvsig.fmap.dal.file.csv/src/main/java/org/gvsig/fmap/dal/store/csv/virtualrows/SuperCSVList.java
SuperCSVList.java | ||
---|---|---|
5 | 5 |
*/ |
6 | 6 |
package org.gvsig.fmap.dal.store.csv.virtualrows; |
7 | 7 |
|
8 |
import java.io.BufferedReader; |
|
8 | 9 |
import java.io.File; |
9 | 10 |
import java.io.IOException; |
10 | 11 |
import java.nio.charset.Charset; |
11 | 12 |
import java.util.Date; |
12 | 13 |
import java.util.List; |
14 |
import java.util.function.Function; |
|
13 | 15 |
import org.apache.commons.io.FilenameUtils; |
14 | 16 |
import org.apache.commons.io.IOUtils; |
15 | 17 |
import org.apache.commons.io.input.CloseShieldReader; |
... | ... | |
64 | 66 |
new DefaultLibrariesInitializer().fullInitialize(); |
65 | 67 |
|
66 | 68 |
String fname; |
67 |
fname = "/home/fdiaz/Descargas/origen_coordenadas.csv"; |
|
69 |
fname = "/home/fdiaz/Descargas/error_union_tablas/Expedientes_CON_REFCAT_trimmed.csv"; |
|
70 |
// fname = "/home/fdiaz/Descargas/origen_coordenadas.csv"; |
|
68 | 71 |
// fname = "/home/jjdelcerro/Descargas/test/origen_coordenadas.csv"; |
69 | 72 |
// fname = "/home/jjdelcerro/Descargas/test/esp_poblaciones.csv"; |
70 | 73 |
// fname = "/home/jjdelcerro/Descargas/test/esp_provincias.csv"; |
... | ... | |
86 | 89 |
}); |
87 | 90 |
SimpleTaskStatus status = taskStatusManager.createDefaultSimpleTaskStatus(data_file.getName()); |
88 | 91 |
status.add(); |
89 |
|
|
92 |
Function<BufferedReader, Integer> numberOfLinesInRecord = (BufferedReader breader) -> { |
|
93 |
CloseShieldReader theReader = CloseShieldReader.wrap(breader); |
|
94 |
CsvListReader parser = new CsvListReader(theReader, CsvPreference.EXCEL_NORTH_EUROPE_PREFERENCE); |
|
95 |
try { |
|
96 |
List<String> values = parser.read(); |
|
97 |
} catch (IOException ex) { |
|
98 |
return 1; |
|
99 |
} |
|
100 |
return parser.getLineNumber(); |
|
101 |
}; |
|
90 | 102 |
RandomAccessFileReader reader = new RandomAccessFileReader(data_file, "UTF-8"); |
91 |
RandomAccessFileIndex index_lines = reader.createOrOpenIndexOfLines(index_file, FILTER_NONE, null);
|
|
103 |
RandomAccessFileIndex index_lines = reader.createIndexOfLines(index_file, false, FILTER_NONE, null, numberOfLinesInRecord);
|
|
92 | 104 |
|
93 | 105 |
CSVList csv = new SuperCSVList(reader, index_lines, 0); |
94 | 106 |
System.out.println("Lines " + csv.size()); |
Also available in: Unified diff