title: Tab delimited String to arrays
body: <p>What I am trying to achieve is read data off an Excel Sheet (saved in Txt, tab delimited), row by row and each individual column is different data that I want to store in an array. </p>
  
  <p>I tried different ways.. I even downloaded CSVReader class off the internet and it didnt work.
  At least this time its reading real Characters and not jiberish.  </p>
  
  <p>The version I have now is uses bufferedReader and String Tokenizer. 
  But it's not reading properly. </p>
  
  <p>Here's the code: </p>
  
  <pre><code>     import java.io.BufferedReader;
       import java.io.BufferedWriter;
       import java.io.File;
       import java.io.FileNotFoundException;
       import java.io.FileReader;
       import java.io.FileWriter;
       import java.io.IOException;
       import java.util.StringTokenizer;
  
       import com.csvreader.CsvReader;
  
       import au.com.bytecode.opencsv.CSVReader;
  
  
       public class excelToText{
       public static void main(String[] args) throws IOException {
  
      try
      {
  
          //csv file containing data
            BufferedReader CSVFile = new BufferedReader(new          FileReader("C:/Users/nhajjar/workspace/MB/src/yoyo.txt"));
  
  
            // Read first line.
            String dataRow; 
            int lineNumber = 0; 
  
  
            while ((dataRow = CSVFile.readLine() )!= null)
            {
                  String [] dataArray;
                  lineNumber++; 
  
  
  
                  String delimiter = "\t";
                  /* given string will be split by the argument delimiter provided. */
                  dataArray = dataRow.split(delimiter);
                  /* print substrings */
  </code></pre>
  
  <p>//                  for(int i =0; i &lt; dataArray.length ; i++)
  //                      System.out.println(dataArray[i]);</p>
  
  <pre><code>                String PrinterName = dataArray[0];
                  String Model = dataArray[1];
                  String IP = dataArray[2];
                  String Location = dataArray[3];
                  String Department = dataArray[4];
                  String PrimServer = dataArray[5];
                  String SecServer = dataArray[6];
                  String ShareName = dataArray[7];
                  String GroupNamePrefix = dataArray[8];
                  String GroupNameSuffix = dataArray[9];
                  String GroupNameFinal = dataArray[10];
                  String WSPPrefix = dataArray[11];
                  String WSPFull = dataArray[12];
                  String PrimWSP = dataArray[13];
                  String SecWSP = dataArray[14];
  
                System.out.println("PrinterName is : " + PrinterName);
                  System.out.println("Model is : " + Model);
                  System.out.println("IP is : " + IP);
                  System.out.println("Location is : " + Location);
                  System.out.println("Department is : " + Department);
                  System.out.println("PrimServer is : " + PrimServer);
                  System.out.println("SecServer is : " + SecServer);
                  System.out.println("ShareName is : " + ShareName);
                  System.out.println("GroupNamePrefix is : " + GroupNamePrefix);
                  System.out.println("GroupNameSuffix is : " + GroupNameSuffix);
                  System.out.println("GroupNameFinal is : " + GroupNameFinal);
                  System.out.println("WSPPrefix is : " + WSPPrefix);
                  System.out.println("WSPFull is : " + WSPFull);
                  System.out.println("PrimWSP is : " + PrimWSP);
                  System.out.println("PrimWSP is : " + PrimWSP);
                  System.out.println("SecWSP is : " + SecWSP);
  
  
  
                  /*//writing file for ones that were not sent out. 
                    File file = new File("write.txt");
                    BufferedWriter output = new BufferedWriter(new FileWriter(file));
                    */
  
              }
  
  
  
  
              CSVFile.close();
  
          }   catch (FileNotFoundException e) {
              e.printStackTrace();
          }   catch (IOException e) {
              e.printStackTrace();
          }   catch(Exception e)          {
            System.out.println("Exception while reading/writing csv file: " + e);                   
          }// end Exceptions 
  
    }// end try block 
       }
  </code></pre>
  
  <p>input is : </p>
  
  <pre><code>    Printer name    Model   IP  Location    Department  Primary Server  Secondary Server    Share Name
      Boundary Sprinter Techs Lexmark E360dn      Boundary    Sprinter    s173m928site    s173mho1site    928-Sprinter-techs-L-E360dn
      Boundary Sprinter Xerox 7232    Xerox WorkCentre 7232       Boundary    Sprinter    s173m928site    s173mho1site    928-Sprinter-WC7232
      Boundry Parts   HP LaserJet P2055dn     Boundary    Parts   s173m928site    s173mho1site    928-Parts-LJ-P2055dn
      Boundry Sales   HP Color LaserJet CP4005        Boundary    Sales   s173m928site    s173mho1site    928-Sales-Main-CP4005
      Boundry Techs East  HP LaserJet P3015       Boundary    Techs East  s173m928site    s173mho1site    928-Techs-east-LJ-P3015
      Boundry Techs West  Lexmark E352dn      Boundary    Techs West  s173m928site    s173mho1site    928-Techs-west-L-E352dn
      Concord     Lexmark E360dn      Concord         s173mho1site    
      Dundas Parts    Xerox WorkCentre 7232       Dundas  Parts   s173m910site    s173mho1site    910-Parts-WC-7232
      Dundas Preowned Xerox WorkCentre 7425       Dundas  Preowned    s173m910site    s173mho1site    910-PreOwned-WC-7425
      Dundas Sales 2nd Floor  HP Color LaserJet CP4025        Dundas  Sales   s173m910site    s173mho1site    910-Sales-2nd-CP4025
      Dundas Sales Main Floor HP Color LaserJet CP4025        Dundas  Sales   s173m910site    s173mho1site    910-Sales-Main-CP4025
  
  
  output im getting is : 
  
  
  PrinterName is : Printer name 
  Model is : Model
  IP is : IP
  Location is : Location
  Department is : Department
  PrimServer is : Primary Server 
  SecServer is : Secondary Server
  ShareName is : Share Name
  GroupNamePrefix is : Group Name Prefix
  GroupNameSuffix is : Group Name Suffix
  GroupNameFinal is : Group Name Final
  WSPPrefix is : WSP Prefix
  WSPFull is : WSP Full
  PrimWSP is : Primary WSP
  PrimWSP is : Primary WSP
  SecWSP is : Secondary WSP
  
  
  PrinterName is : Boundary Sprinter Techs
  Model is : Lexmark E360dn
  IP is : 53.254.177.138
  Location is : Boundary
  Department is : Sprinter
  PrimServer is : s173m928site
  SecServer is : s173mho1site
  ShareName is : 928-Sprinter-techs-L-E360dn
  GroupNamePrefix is : D173_PRINTER-
  GroupNameSuffix is : 928-Sprinter-techs-L-E360dn
  GroupNameFinal is : D173_PRINTER-928-Sprinter-techs-L-E360dn
  WSPPrefix is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\
  WSPFull is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\D173_PRINTER-928-Sprinter-techs-L-E360dn.wsp;D173_PRINTER-928-Sprinter-techs-L-E360dn
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Sprinter-techs-L-E360dn
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Sprinter-techs-L-E360dn
  SecWSP is : ;&gt;;%;\\s173mho1site.cambc.corpintra.net\928-Sprinter-techs-L-E360dn
  
  
  PrinterName is : Boundary Sprinter Xerox 7232
  Model is : Xerox WorkCentre 7232
  IP is : 53.254.177.136
  Location is : Boundary
  Department is : Sprinter
  PrimServer is : s173m928site
  SecServer is : s173mho1site
  ShareName is : 928-Sprinter-WC7232
  GroupNamePrefix is : D173_PRINTER-
  GroupNameSuffix is : 928-Sprinter-WC7232
  GroupNameFinal is : D173_PRINTER-928-Sprinter-WC7232
  WSPPrefix is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\
  WSPFull is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\D173_PRINTER-928-Sprinter-WC7232.wsp;D173_PRINTER-928-Sprinter-WC7232
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Sprinter-WC7232
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Sprinter-WC7232
  SecWSP is : ;&gt;;%;\\s173mho1site.cambc.corpintra.net\928-Sprinter-WC7232
  
  
  PrinterName is : Boundry Parts
  Model is : HP LaserJet P2055dn
  IP is : 53.254.193.222
  Location is : Boundary
  Department is : Parts
  PrimServer is : s173m928site
  SecServer is : s173mho1site
  ShareName is : 928-Parts-LJ-P2055dn
  GroupNamePrefix is : D173_PRINTER-
  GroupNameSuffix is : 928-Parts-LJ-P2055dn
  GroupNameFinal is : D173_PRINTER-928-Parts-LJ-P2055dn
  WSPPrefix is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\
  WSPFull is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\D173_PRINTER-928-Parts-LJ-P2055dn.wsp;D173_PRINTER-928-Parts-LJ-P2055dn
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Parts-LJ-P2055dn
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Parts-LJ-P2055dn
  SecWSP is : ;&gt;;%;\\s173mho1site.cambc.corpintra.net\928-Parts-LJ-P2055dn
  
  
  PrinterName is : Boundry Sales
  Model is : HP Color LaserJet CP4005
  IP is : 53.254.193.117
  Location is : Boundary
  Department is : Sales
  PrimServer is : s173m928site
  SecServer is : s173mho1site
  ShareName is : 928-Sales-Main-CP4005
  GroupNamePrefix is : D173_PRINTER-
  GroupNameSuffix is : 928-Sales-Main-CP4005
  GroupNameFinal is : D173_PRINTER-928-Sales-Main-CP4005
  WSPPrefix is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\
  WSPFull is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\D173_PRINTER-928-Sales-Main-CP4005.wsp;D173_PRINTER-928-Sales-Main-CP4005
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Sales-Main-CP4005
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Sales-Main-CP4005
  SecWSP is : ;&gt;;%;\\s173mho1site.cambc.corpintra.net\928-Sales-Main-CP4005
  
  
  PrinterName is : Boundry Techs East
  Model is : HP LaserJet P3015
  IP is : 53.254.193.220
  Location is : Boundary
  Department is : Techs East
  PrimServer is : s173m928site
  SecServer is : s173mho1site
  ShareName is : 928-Techs-east-LJ-P3015
  GroupNamePrefix is : D173_PRINTER-
  GroupNameSuffix is : 928-Techs-east-LJ-P3015
  GroupNameFinal is : D173_PRINTER-928-Techs-east-LJ-P3015
  WSPPrefix is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\
  WSPFull is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\D173_PRINTER-928-Techs-east-LJ-P3015.wsp;D173_PRINTER-928-Techs-east-LJ-P3015
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Techs-east-LJ-P3015
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Techs-east-LJ-P3015
  SecWSP is : ;&gt;;%;\\s173mho1site.cambc.corpintra.net\928-Techs-east-LJ-P3015
  
  
  PrinterName is : Boundry Techs West
  Model is : Lexmark E352dn
  IP is : 53.254.193.221
  Location is : Boundary
  Department is : Techs West
  PrimServer is : s173m928site
  SecServer is : s173mho1site
  ShareName is : 928-Techs-west-L-E352dn
  GroupNamePrefix is : D173_PRINTER-
  GroupNameSuffix is : 928-Techs-west-L-E352dn
  GroupNameFinal is : D173_PRINTER-928-Techs-west-L-E352dn
  WSPPrefix is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\
  WSPFull is : #;\D173\_GLOBALRESOURCES\GROUPS\Printers\D173_PRINTER-928-Techs-west-L-E352dn.wsp;D173_PRINTER-928-Techs-west-L-E352dn
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Techs-west-L-E352dn
  PrimWSP is : &gt;;%;\\s173m928site.cambc.corpintra.net\928-Techs-west-L-E352dn
  SecWSP is : ;&gt;;%;\\s173mho1site.cambc.corpintra.net\928-Techs-west-L-E352dn
  Exception while reading/writing csv file: java.lang.ArrayIndexOutOfBoundsException: 7
  </code></pre>
  
  <p>NOTE: I TRUNCATED THE OUTPUT. THERES ALOT MORE OF THESE 'Null blocks'</p>