Pagini recente » Cod sursa (job #1337738) | Cod sursa (job #3292666) | Cod sursa (job #1804005) | Cod sursa (job #1359633) | Cod sursa (job #1350866)
import java.io.*;
import java.util.ArrayList;
import java.util.Scanner;
import java.util.Stack;
class Converter {
ArrayList<String> keys = new ArrayList<String>();
ArrayList<String> values = new ArrayList<String>();
Stack<Character> stack = new Stack<Character>();
public void convertingFile( Scanner reader) throws IOException{
PrintWriter writer = new PrintWriter("convertor.out","UTF-8");
while(reader.hasNextLine()){
String concat = "";
String stringLine = reader.nextLine();
char [] line = stringLine.toCharArray();
for(int i = 0; i < line.length; i++){
if( line[i] == '{' || line[i] == '['){
stack.push(line[i]);
}
if( line[i] == '\"' && stack.peek() != '\"'){
stack.push(line[i]);
}
else{
if( i > 1 && Character.isLetterOrDigit(line[i-1]) && Character.isLetterOrDigit(line[i+1]) && line[i] == ' '){
concat += " ";
}
if(Character.isLetterOrDigit(line[i])){
concat += line[i];
}
else{
if(line[i] == '\"' && stack.peek() == '\"'){
stack.pop();
}
}
}
if(line[i] == ':'){
if(keys.contains(concat) == false){
keys.add(concat);
}
concat = "";
}
if(line[i] == ',' && stack.peek() != '}'){
values.add(concat);
concat = "";
}
if(line[i] == '}'){
stack.push('}');
}
if(line[i] == ']'){
stack.push(']');
}
if(( line[i] == ',' && stack.peek() == '}' )|| ( line[i] != ',' && stack.peek() == ']') ){
values.add(concat);
concat = "";
values.add("*");
stack.pop();
}
}
}
for(int i = 0 ; i < keys.size(); i++){
writer.print(keys.get(i) + ",");
}
writer.println();
for(int i = 0; i < values.size(); i++){
if(values.get(i).equals("*")){
writer.println();
}
else{
writer.print(values.get(i) + ",");
}
}
writer.close();
}
}
public class Main{
public static void main(String [] args){
try{
InputStream inputStream = new FileInputStream("convertor.in");
InputStreamReader inputStreamReader = new InputStreamReader(inputStream,"UTF-8");
Scanner reader = new Scanner(inputStreamReader);
Converter converting = new Converter();
converting.convertingFile(reader);
}catch(Exception fileException){
System.err.println("File not found exception");
}
}
}