code: static CompactCharSequence[][] getAllValuesCompactCharSequence(InputStream is, char delimiter) throws Exception {
  		// FileReader reader = new FileReader(fileName);
  
  		BufferedReader br = new BufferedReader(new InputStreamReader(is));
  
  
  		ArrayList<CompactCharSequence[]> rows = new ArrayList<CompactCharSequence[]>();
  
  		String line = br.readLine();
  		int numcolumns = -1;
  		while (line != null) {
  			String[] d = line.split(String.valueOf(delimiter));
  			if (numcolumns == -1) {
  				numcolumns = d.length;
  			}
  			CompactCharSequence[] ccs = new CompactCharSequence[d.length];
  			for (int i = 0; i < d.length; i++) {
  				ccs[i] = new CompactCharSequence(d[i]);
  			}
  			rows.add(ccs);
  
  			line = br.readLine();
  		}
  		br.close();
  		// reader.close();
  
  		CompactCharSequence[][] data = new CompactCharSequence[rows.size()][numcolumns];
  		for (int i = 0; i < rows.size(); i++) {
  			CompactCharSequence[] row = rows.get(i);
  			for (int j = 0; j < row.length; j++) { //
  				if (row[j].length() > 1 && row[j].charAt(0) == '"') {
  					// System.out.println(row[j]);
  					if (row[j].length() > 2) {
  						row[j] = new CompactCharSequence(row[j].subSequence(1, row[j].length() - 1).toString());
  					} else {
  						row[j] = new CompactCharSequence("");
  					}
  				}
  				if (j < row.length && j < data[0].length) {
  					data[i][j] = row[j];
  				}
  			}
  
  
  		}
  
  		return data;
  
  	}
docs: All support for loading from a jar file
  
  @param is
  @param delimiter
  @return
  @throws Exception