title: How to parse a CSV file that might have one of two delimiters?
body: <p>In my case, valid CSV are ones delimited by either comma or semi-colon.  I am open to other libraries, but it needs to be Java.  Reading through the Apache CSVParser API, the only thing I can think is to do this which seems inefficient and ugly.</p>
  
  <pre><code>try
  {
     BufferedReader reader = new BufferedReader(new InputStreamReader(file));
     CSVFormat csvFormat = CSVFormat.EXCEL.withHeader().withDelimiter(';');
     CSVParser parser = csvFormat.parse( reader );
     // now read the records
  } 
  catch (IOException eee) 
  {
     try
     {
        // try the other valid delimeter
        csvFormat = CSVFormat.EXCEL.withHeader().withDelimiter(',');
        parser = csvFormat.parse( reader );
        // now read the records
     }
     catch (IOException eee) 
     {
        // then its really not a valid CSV file
     }
  }
  </code></pre>
  
  <p>Is there a way to check the delimiter first, or perhaps allow two delimiters?  Anyone have a better idea than just catching an exception?</p>