title: When processing a csv String with an empty final field, myString.split( "," ) returns incorrect number of array entries
body: <p>I'm processing a certain line read from a .csv file using <code>String.split(",")</code> and finding that the final empty string after the last delimiter is not making it into the array created by the <code>split</code> function.</p>
  
  <p>Here are the variable values that are causing the error:</p>
  
  <pre><code>String toSplit = "1,Some Value,31337,Another Value,";
  String[] values = toSplit.split( "," );
  </code></pre>
  
  <p>The <code>values</code> array ends up having fewer than the expected count of array entries.  The array created is:</p>
  
  <pre><code>values[0] : '1'
  values[1] : 'Some Value'
  values[2] : '31337'
  values[3] : 'Another Value'
  </code></pre>
  
  <p>with a <code>values[4]</code> throwing an ArrayIndexOutOfBounds exception.</p>
  
  <p>The array I want is:</p>
  
  <pre><code>values[0] : '1'
  values[1] : 'Some Value'
  values[2] : '31337'
  values[3] : 'Another Value'
  values[4] : ''
  </code></pre>
  
  <p>One caveat: I am reading the output of another .csv file creator and don't want to use string delimiters or throw a ' ' whitespace character into places where the data is empty.  (ie. do not want: <code>toSplit = "1,Some Value,31337,Another Value, "</code> with whitespace on the end.)</p>
  
  <p>Is this a bug in String.split() and is there a workaround/another option?</p>