Cod sursa(job #1349956)

Utilizator AndlolAndrei Apostoiu Andlol Data 20 februarie 2015 16:23:10
Problema Convertor Scor 70
Compilator java Status done
Runda rosedu_cdl_2015 Marime 2.06 kb
//package javaapplication9;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class Main {
	public static void main(String[] args) throws IOException {
        Scanner in, auxScanner;
        PrintWriter out;
        String s,buffer;
        String[] stringArray,keyArray;
        int pos1, pos2,i,j;

        in = new Scanner(new FileInputStream("convertor.in"));
        in.useDelimiter("}");

        out = new PrintWriter("convertor.out");
        
        // Get keys
        buffer = in.next().trim();// buffer contine un ob din JSON dintre {....}
        
        keyArray=buffer.split(",");
        
        pos1 = keyArray[0].trim().indexOf('"');
        pos2 = keyArray[0].trim().indexOf('"', pos1+1);
             
        out.write(keyArray[0].substring(pos1+1, pos2)+",");
        
        for( i=1;i<keyArray.length;i++){
               s = keyArray[i].trim();
               pos2 = s.indexOf('"', 1);
               out.write(s.substring(1, pos2)+",");
         }
        i=0;
        out.println();
        in.close();
        
        // Get values
        in = new Scanner(new FileInputStream("convertor.in"));
        in.useDelimiter("}");
        while(in.hasNext()) {
            buffer = in.next().trim();
            if (buffer.equals("]")) break;
            
            stringArray=buffer.split(",");
            if(stringArray[0].equals("")){
                i=1;
            }
            
            for(j=i;j<stringArray.length;j++){
                //if(s1.equals("")){continue;}
                s=stringArray[j].trim();
                s= s.substring(s.indexOf(':') + 1).trim(); // s="value" sau s=1123 
                if (s.charAt(0) == '"') {
                	s = s.substring(1, s.lastIndexOf('"'));
                }
                out.write(s+",");
                
            }
            out.println();
            
            
        }
        
       // auxScanner.close();
        in.close();
        out.close();
    }
}