private String[] lineSpliter(String line) {
			if (line == null || line.length() == 0)
				return new String[0];
			line = line.replaceAll("\"\"", "");
			Pattern pattern = Pattern.compile(REPLACE_PATTERN);
			Matcher matcher = pattern.matcher(line);
			List<Integer> spliterRepPosList = new ArrayList<Integer>();
			StringBuilder sb = new StringBuilder(line);
			while (matcher.find()) {
				String tmp = matcher.group(2);
				for (int i = 0; i < tmp.length(); i++) {
					if (SPLITER.charAt(0) == tmp.charAt(i)) {
						int pos = matcher.start(2) + i;
						spliterRepPosList.add(pos);
						sb.setCharAt(pos, SPLITER_REPLACEMENT);
					}
				}
			}
			String[] split = sb.toString().split(SPLITER);
			int linepos = 0;
			for (int i = 0; i < split.length; i++) {
				String value = split[i];
				if (value.contains(String.valueOf(SPLITER_REPLACEMENT))) {
					StringBuilder valueSb = new StringBuilder(value);
					for (int j = 0; j < value.length(); j++) {
						if (spliterRepPosList.contains(linepos + j)) {
							valueSb.setCharAt(j, SPLITER.charAt(0));
						}
					}
					split[i] = valueSb.toString();
				}
				linepos += value.length() + 1;
			}
			return split;
		}