The example takes some structured data and creates MySQL insert statements for each dataset and then outputs it as a file.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package com.ignite.tools.someTextParser; | |
import java.io.BufferedReader; | |
import java.io.BufferedWriter; | |
import java.io.FileInputStream; | |
import java.io.FileOutputStream; | |
import java.io.IOException; | |
import java.io.InputStreamReader; | |
import java.io.OutputStreamWriter; | |
public class main { | |
private final static String SUBJECT_SEPARATOR = "/"; | |
private final static String SINGLE_QUOTE = "'"; | |
public static void main(String[] args) { | |
FileInputStream inputStream = null; | |
BufferedReader bufferedReader = null; | |
FileOutputStream outputStream = null; | |
BufferedWriter bufferedWriter = null; | |
try { | |
inputStream = new FileInputStream("/Users/kenneth/Desktop/data_normalized.txt"); | |
outputStream = new FileOutputStream("/Users/kenneth/Desktop/data_modified.txt"); | |
bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); | |
bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream)); | |
String codeLine = null; | |
String subjectLine = null; | |
StringBuilder insertSql = new StringBuilder(); | |
String subjects[] = null; | |
String parentCategory = null; | |
String subcategory = null; | |
while(true) { | |
codeLine = bufferedReader.readLine(); | |
subjectLine = bufferedReader.readLine(); | |
if(codeLine == null || subjectLine == null) { | |
break; | |
} | |
codeLine = codeLine.trim(); | |
subjectLine = subjectLine.trim(); | |
subjects = subjectLine.split(SUBJECT_SEPARATOR); | |
parentCategory = subjects[0].trim(); | |
subcategory = subjectLine.replace(parentCategory + " / ", "").trim(); | |
parentCategory = parentCategory.replace("'", "\\'"); | |
subcategory = subcategory.replace("'", "\\'"); | |
subjectLine = subjectLine.replace("'", "\\'"); | |
insertSql.setLength(0); | |
insertSql.append("insert into Category (name, fullName, code) values ("); | |
insertSql.append(SINGLE_QUOTE); | |
insertSql.append(subcategory); | |
insertSql.append(SINGLE_QUOTE); | |
insertSql.append(", "); | |
insertSql.append(SINGLE_QUOTE); | |
insertSql.append(subjectLine); | |
insertSql.append(SINGLE_QUOTE); | |
insertSql.append(", "); | |
insertSql.append(SINGLE_QUOTE); | |
insertSql.append(codeLine); | |
insertSql.append(SINGLE_QUOTE); | |
insertSql.append(");"); | |
bufferedWriter.write(insertSql.toString()); | |
bufferedWriter.newLine(); | |
} | |
bufferedWriter.close(); | |
bufferedReader.close(); | |
} catch (IOException e) { | |
e.printStackTrace(); | |
} | |
} | |
} |
No comments:
Post a Comment