Exemple #1
0
  /**
   * 次のレコードの有無を返す。
   *
   * @return
   */
  public boolean next() {
    if (!iter.hasNext() && !EOF) {
      try {
        iter = readBuffer().iterator();
      } catch (IOException ioe) {
        ioe.printStackTrace();
        return false;
      }
    }

    if (iter.hasNext()) {
      CSVLineParser parser = (CSVLineParser) iter.next();
      defaultString = parser.getDefaultString();
      currentRow = new CSVRecordMap();
      String[] cols = parser.getSeparatedValues();
      for (int i = 0; i < cols.length; i++) currentRow.put(colmunName[i], cols[i]);

      currentRowNum++;
      return true;
    } else {
      defaultString = null;
      currentRow = null;
      return false;
    }
  }
Exemple #2
0
  private CSVLineParser readLine(BufferedReader br, CSVLineParser parser) throws IOException {
    String line = br.readLine();
    readIndex++;
    if (line != null && !parser.appendString(line).isCorrectRecord()) {
      return readLine(br, parser.appendString(System.getProperty("line.separator")));
    }

    return parser;
  }
Exemple #3
0
 /**
  * ファイルの先頭行よりタイトルを読み込みます
  *
  * @return
  * @throws IOException
  */
 public CSVReader preLoadTitleRow() throws IOException {
   BufferedReader br = null;
   try {
     br = new BufferedReader(new InputStreamReader(new FileInputStream(file), encode));
     CSVLineParser parser = readLine(br, new CSVLineParser());
     offset = readIndex;
     colmunName = parser.getSeparatedValues();
   } finally {
     if (br != null) br.close();
   }
   return this;
 }
Exemple #4
0
  private List readBuffer() throws IOException {
    List result = new LinkedList();
    BufferedReader br = null;
    readIndex = 0;
    try {
      br = new BufferedReader(new InputStreamReader(new FileInputStream(file), encode));
      seekOffset(br);

      while (result.size() < readBuffer) {
        CSVLineParser record = readLine(br, new CSVLineParser());
        if (EOF = record.isNull()) break;
        else result.add(record);
      }
      offset = readIndex;
    } finally {
      if (br != null) br.close();
    }

    return result;
  }