Hi guys, I am writing a parser code to read a CSV file and parse it to XML. This is the code that I have, and it works fine, except that I would like to skip the first line in the file. So I decided to configure HashMap, but it works:
for (int i = 0; i < listOfFiles.length; i++) { File file = listOfFiles[i]; if (file.isFile() && file.getName().endsWith(".csv")){ System.out.println("File Found: " + file.getName());//Prints the name of the csv file found String filePath = sourcepath + "\\" + file.getName(); BufferedReader br = new BufferedReader(new FileReader(file)); String line; int n = 1; Map<Integer,String> lineMap = new HashMap<Integer,String>(); int k=2; while ((line = br.readLine()) != null) { System.out.println(n + " iteration(s) of 1st While Loop"); lineMap.put(k, line); fw.write(" <ASSET action=\"AddChange\">\n"); fw.write(" <HOSTNAME>\n"); hostName=line.substring(0, line.indexOf(",")); fw.append(hostName); fw.write("</HOSTNAME>\n"); fw.write(" <HOSTID>\n"); hostID=line.substring(line.indexOf(",")+1, nthOccurrence(line, ',', 1)); fw.append(hostID); fw.write("</HOSTID>\n"); fw.write(" <MACMODEL>\n"); machineModel=line.substring(nthOccurrence(line, ',', 1)+1, nthOccurrence(line, ',', 2)); fw.append(machineModel); fw.write("</MACMODEL>\n"); fw.write(" <PROMODEL>\n"); processorModel=line.substring(nthOccurrence(line, ',', 2)+1, nthOccurrence(line, ',', 3)); fw.append(processorModel); fw.write("</PROMODEL>\n"); fw.write(" <CORE>\n"); core=line.substring(nthOccurrence(line, ',', 3)+1, nthOccurrence(line, ',', 4)); fw.append(core); fw.write("</CORE>\n"); fw.write(" <PROC>\n"); proc=line.substring(nthOccurrence(line, ',', 4)+1, nthOccurrence(line, ',', 5)); fw.append(proc); fw.write("</PROC>\n"); fw.write(" <TIER>\n"); tier=line.substring(nthOccurrence(line, ',', 5)+1, nthOccurrence(line, ',', 6)); fw.append(tier); fw.write("</TIER>\n"); fw.write(" <PRODNAME>\n"); productName=line.substring(nthOccurrence(line, ',', 6)+1, nthOccurrence(line, ',', 7)); fw.append(productName); fw.write("</PRODNAME>\n"); fw.write(" <VERSION>\n"); version=line.substring(nthOccurrence(line, ',', 7)+1, nthOccurrence(line, ',', 8)); fw.append(version); fw.write("</VERSION>\n"); fw.write(" <SCRIPTDATA>\n"); scriptData=line.substring(nthOccurrence(line, ',', 8)+1, line.length()); fw.append(scriptData); fw.write("</SCRIPTDATA>\n"); fw.write(" </ASSET>\n"); k++; }n++;
This is a snippet of the main body of the code. Any ideas or solutions ???