2013-10-27 4 views
0

эй Ive получил кусок кода здесь пытается прочитать одну строку в CSV-файле:Сохранение одного CSV объекта строки в массивы

строки = новый WarehouseItem [];

public void readCSV(String filename) { 
    FileInputStream fileStrm = null; 
    InputStreamReader rdr; 
    BufferedReader bufRdr; 
    int lineNum; 
    String line; 

    try { 
    fileStrm = new FileInputStream(filename); 
    rdr = new InputStreamReader(fileStrm); 
    bufRdr = new BufferedReader(rdr); 

    numRows = 0; 
    line = bufRdr.readLine(); 
    while (line != null) { 
     rows[numRows] = line; 
     numRows++; 
     line = bufRdr.readLine(); 
    } 
    fileStrm.close(); 
    } 

    catch (IOException e) { 
    if (fileStrm != null) { 
     try { 
    fileStrm.close(); 
     } catch (IOException ex2) {} 
    } 
    System.out.println("Error in file processing: " + e.getMessage()); 
} 
} 

на rows[numRows] = line им пытаются хранить строку в массив объектов (я Premade объект, который содержит массив строк и число столбцов)

им не совсем уверен, как хранить единственная строка, которую я пытаюсь прочитать в моем объекте.

любая помощь будет очень признателен :)

+1

Декларация 'rows' отсутствует фрагмент кода. Мы должны это увидеть, пожалуйста. –

+0

Вы должны сказать нам, что 'rows' _is_. Это 'String []'? A 'String [] []'? –

ответ

0

Ваша жизнь будет очень много проще, если вы использовали библиотеку CSV, чтобы сделать это. С jackson очень просто читать CSV в массив объектов.

Например:

CsvMapper mapper = new CsvMapper(); 
mapper.enable(CsvParser.Feature.WRAP_AS_ARRAY); 
File csvFile = new File("input.csv"); // or from String, URL etc 
MappingIterator<Object[]> it = mapper.reader(Object[].class).readValues(csvFile); 

Смотрите здесь для получения дополнительной информации о разборе CSV в Java: http://demeranville.com/how-not-to-parse-csv-using-java/

Смежные вопросы