Pagini recente » Cod sursa (job #700853) | Cod sursa (job #2368279) | Cod sursa (job #2295285) | Cod sursa (job #157381) | Cod sursa (job #1345679)
/*
* Realizat pentru inscrierea la CDL
* Nan Mihai - Facultatea de Automatica si Calculatoare
* Grupa - 324CC
*/
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.LinkedHashMap;
import java.util.Scanner;
import java.util.Set;
import java.util.StringTokenizer;
import java.util.Vector;
/**
*
* @author Nan Mihai
*/
public class Main {
ArrayList<ArrayList<String>> dictionar;
int nrE = 0;
public Main() {
dictionar = new ArrayList<ArrayList<String>>();
}
public static void main(String args[]) throws FileNotFoundException {
Main c = new Main();
c.read("convertor.in");
c.write("convertor.out");
}
public void read(String namefile) throws FileNotFoundException {
Scanner reader = new Scanner(new FileInputStream(namefile));
String text = "";
ArrayList<String> keys = new ArrayList<String>();
ArrayList<String> values = new ArrayList<String>();
boolean ok = true;
String key, value;
while(reader.hasNext()) {
text += reader.nextLine();
}
StringTokenizer st = new StringTokenizer(text, ",");
while(st.hasMoreTokens()) {
String aux = st.nextToken();
key = getKey(aux);
value = getValue(aux);
if(ok) {
keys.add(key);
}
values.add(value);
if(aux.contains("}")) {
if(ok) {
dictionar.add(keys);
}
dictionar.add(values);
values = new ArrayList<String>();
ok = false;
}
}
reader.close();
}
public String getKey(String s) {
String key = "", aux = "";
String pref = "";
char c = '"';
pref += c;
String[] vect = s.split(pref);
key = vect[1];
return key;
}
public String getValue(String s) {
String value = "", aux = "";
String[] v = s.split(":");
String pref = "";
char c = '"';
pref += c;
value = v[1];
if(value.contains(pref)) {
v = value.split(pref);
value = v[1];
} else {
Scanner in = new Scanner(value).useDelimiter("[^0-9]+");
int integer = in.nextInt();
value = "" + integer;
}
return value;
}
public void write(String namefile) throws FileNotFoundException {
PrintWriter writer = new PrintWriter(namefile);
int i = 0;
int nr = dictionar.size();
StringBuffer line;
while(i < nr) {
line = new StringBuffer();
ArrayList<String> v = dictionar.get(0);
for(String s : v) {
s += ",";
line.append(s);
}
line.append("\n");
writer.write(line.toString());
dictionar.remove(0);
i++;
}
writer.close();
}
}