Pagini recente » Cod sursa (job #1866275) | Cod sursa (job #875411) | Cod sursa (job #1398035) | Cod sursa (job #2229410) | Cod sursa (job #1355283)
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Scanner;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(new FileInputStream(args[0]));
String line = "";
// pun intr-un string toate caracterele
while (scanner.hasNextLine()) {
line += scanner.nextLine();
}
String keys = "", values = "", value = "";
// folosind functia split voi separa caracterele dupa "}" si ","
// pentru a lua cheile si dupa "}", "," si ":"
// voi lua cheile
for (int i = 0; i < line.split("}").length; i++) {
for (int j = 0; j < line.split("}")[i].split(",").length; j++) {
// cheile le iau o singura data
if (i == 0) {
String split = line.split("}")[i].split(",")[j];
keys += split.substring(split.indexOf("\"") + 1,
split.indexOf("\"", split.indexOf("\"") + 1))
+ ",";
}
// pot exista caractere care contin numai un element
// si nu sunt nici chei, nici valori
if (line.split("}")[i].split(",")[j].split(":")[0]
.contains("\"")){
// iau valoarea
value = line.split("}")[i].split(",")[j].split(":")[1];
// verific daca e string sau numar
if (value.contains("\""))
values += value.substring(value.indexOf("\"") + 1, value.indexOf("\"", value.indexOf("\"") + 1)) + ",";
// daca e numar elimin spatiile
else
values += value.trim() + ",";
}
}
values += "\n";
}
keys += "\n";
FileOutputStream out = new FileOutputStream("convertor.out");
out.write(keys.getBytes());
out.write(values.getBytes());
out.close();
}
}