Pagini recente » Cod sursa (job #2153076) | Cod sursa (job #2717746) | Cod sursa (job #2512302) | Cod sursa (job #1366121) | Cod sursa (job #1361879)
/* 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 Convertor {
int k = 0;
ArrayList<String> key = null;
ArrayList<String> value = null;
String seq = null;
public static void main(String args[]) {
Convertor c = new Convertor();
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 ArrayList<String>();
value = new ArrayList<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;
}
seq = seq.concat((line.split("}"))[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.add(words[0].trim());
value.add(words[1].trim());
}
if (k == 0) {
k = 1;
}
seq = new String(line.split("}")[1]);
}
public void writeData(String filename) {
FileWriter f = null;
PrintWriter file = null;
try {
f = new FileWriter(filename);
file = new PrintWriter(f);
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();
}
}