Это сводит меня с ума.
У меня есть строка [] (массив), которую я получаю, используя библиотеку OpenCSV.Кажется, что он работает нормально, когда я выполняю его из метода того же класса, но когда я пытаюсь получить String [] из другого класса, я получаю массив с одним элементом, который выглядит как все элементы String [] объединены вместе.
Затем я помещаю значения массива в список (как показано ниже), и все равно происходит то же самое.
Из того же класса я получаю этот вывод (что желательно):
----
OpCode
----
Date
----
Depth (m)
----
Waypoint
----
Latitude
----
Longitude
----
Left Cam
Используя этот код
public static void main(String[] args){
CSVScrawler scrawl = new CSVScrawler("/avalidfile.txt");
scrawl.readColNames();
}
public List<String> readColNames() {
List<String> colNames = new ArrayList<String>();
try {
data = reader.readAll(); } catch (FileNotFoundException e) { } catch (IOException e) { e.printStackTrace(); }
String[] header = data.get(calcHeaderLineNo());
for(int i=0;i<header.length;i++){
colNames.add(header[i]);
System.out.println(" ---- ");
System.out.println(colNames.get(i));
}
return colNames;
}
Когда я вызываю ту же вещь из другого классаЯ получаю это (это не то, что я хочу):
----
OpCode Date Depth (m) Waypoint Latitude Longitude Left Cam
Соответствующий код выглядит так:
CSVScrawler csv = new CSVScrawler(uploadedFile.getReader());
// uploadedFile is a FileBean object (from the Stripes framework)
colNames = csv.readColNames();
Конструкторы:
public CSVScrawler(String location) {
this.location = location;
try {
reader = new CSVReader(new FileReader(location), '\t'); } catch (FileNotFoundException e) { e.printStackTrace();
}
}
public CSVScrawler(Reader r){
reader = new CSVReader(r);
}