title: Alternative of Java String.split for better performance
body: <p>In the process of adding data by import from a csv/tab seperated file, my code consumes a lot of time to upload data. Is there any alternative to do this in a more faster way ?? This is the code i use to split fields in an array.  </p>
  
  <pre><code> //Here -  lineString = fileReader.readLine()
  
  public static String [] splitAndGetFieldNames(String lineString ,String fileType) 
  {
      if(lineString==null || lineString.trim().equals("")){
          return null;
      }
      System.out.print("LINEEEE   " +  lineString);
      String pattern = "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))";
      if(fileType.equals("tab"))
          pattern = "\t" + pattern;
      else
          pattern = "," + pattern;
  
      String fieldNames[] = lineString.split(pattern);
  
  
      for(int i=0 ; i &lt; fieldNames.length ; i++){
          //logger.info("Split Fields::"+fieldNames[i]);
          if (fieldNames[i].startsWith("\""))
              fieldNames[i] = fieldNames[i].substring(1);
          if (fieldNames[i].endsWith("\""))
              fieldNames[i] = fieldNames[i].substring(0, fieldNames[i].length()-1);
          fieldNames[i] = fieldNames[i].replaceAll("\"\"","\"").trim();
          //logger.info("Split Fields after manipulation::"+fieldNames[i]);
      }
      return fieldNames;
  }
  </code></pre>