Pagini recente » Cod sursa (job #2939572) | Borderou de evaluare (job #3146091) | Cod sursa (job #599423) | Borderou de evaluare (job #3146037) | Cod sursa (job #1361910)
/* Roboiu Simona Alina */
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
int k = 0;
String key = null;
String value = null;
String seq = null;
public static void main(String args[]) {
Main c = new Main();
String input = "convertor.in";
c.readDataFromInputFile(input);
String output = "convertor.out";
c.writeData(output);
}
public void readDataFromInputFile(String filename) {
Scanner scanner = null;
String line = null;
key = new String();
value = new String();
seq = new String();
try {
scanner = new Scanner(new FileInputStream(filename));
while(scanner.hasNextLine()) {
line = new String(scanner.nextLine());
conversionLine(line);
}
} catch (Exception e) {
e.printStackTrace();
}
scanner.close();
}
public void conversionLine(String line) {
String delimiters = ",{}[]";
line = line.replace("\"", "");
if(!line.contains("}")) {
seq = seq.concat(line);
return;
}
String[] half = line.split("}");
seq = seq.concat(half[0]);
StringTokenizer token = new StringTokenizer(seq, delimiters);
while(token.hasMoreTokens()) {
String pair = token.nextToken();
if(pair.trim().equals(""))
continue;
String[] words = pair.trim().split(":");
if(k == 0)
key = key.concat(words[0].trim() + ",");
value = value.concat(words[1].trim() + ",");
}
value = value.concat("\n");
if (k == 0) {
k = 1;
}
seq = new String(half[1]);
}
public void writeData(String filename) {
FileWriter f = null;
PrintWriter file = null;
try {
f = new FileWriter(filename);
file = new PrintWriter(f);
file.println(key);
file.print(value);
/*int nr = key.size();
for(int i = 0; i < nr; i++)
file.print(key.get(i)+",");
file.println();
for(int i = 0; i < value.size(); i++) {
file.print(value.get(i)+",");
if((i + 1) % nr == 0)
file.println();
}
*/
} catch (Exception e) {
e.printStackTrace();
}
file.close();
}
}