Cod sursa(job #1346654)

Utilizator AndlolAndrei Apostoiu Andlol Data 18 februarie 2015 15:12:35
Problema Convertor Scor 0
Compilator java Status done
Runda rosedu_cdl_2015 Marime 3.33 kb
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package javaapplication9;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.Scanner;

/**
 *
 * @author Andrei
 */
public class Main {
    public static void main(String[] args) throws FileNotFoundException {
    
    Scanner scanner = new Scanner(new FileInputStream("in.txt"));
    PrintWriter out = new PrintWriter("outDelim.txt");
    scanner.useDelimiter("},");
    String container="";
    String test1,test2="";
    
    container=scanner.next().trim();
       
    Scanner keyScanner=new Scanner(container);
    keyScanner.useDelimiter(",");
    
    while(keyScanner.hasNext()){
        String key=keyScanner.next().trim();
        
        int position1=key.indexOf('"');
        int position2=key.indexOf('"', position1+1);
        
        out.write(key.substring(position1+1,position2)+",");
        test1=key.substring(position1+1,position2);
                
    }
    out.println();
    
    
     while (scanner.hasNext()){
            Scanner valueScanner=new Scanner(container);
            valueScanner.useDelimiter(",");
            
            while(valueScanner.hasNext()){
                String value=valueScanner.next().trim();
            
                int position1=value.indexOf(':');
                int position2=value.length();
            
                test2=value.substring(position1+1,position2).trim();
                if(test2.indexOf('"')== -1) {
                    out.write(value.substring(position1+1,position2).trim()+",");
                }
                else{
                    out.write(test2.substring(1,test2.length()-1).trim()+",");
                //System.out.println(test2.substring(1,test2.length()-1).trim()+",");
                }
            }
            out.println();
            container=scanner.next().trim(); // 
            
    }
    
     Scanner valueScanner=new Scanner(container);
            valueScanner.useDelimiter(",");
            
            while(valueScanner.hasNext()){
                String value=valueScanner.next().trim();
                int rightCurly=value.lastIndexOf('}');
                int position2;
                
                int position1=value.indexOf(':');
                if(rightCurly == -1) {
                   position2=value.length();
                }
                else {
                   position2=rightCurly;
                }
                test2=value.substring(position1+1,position2).trim();
                if(test2.indexOf('"')== -1) {
                    out.write(value.substring(position1+1,position2).trim()+",");
                    //System.out.println(value.substring(position1+1,position2).trim()+",");
                }
                else{
                    position2=test2.lastIndexOf('"');
                    out.write(test2.substring(1,position2).trim()+",");
                    //System.out.println(test2.substring(1,position2).trim()+",");
                //System.out.println(test2.substring(1,test2.length()-1).trim()+",");
                }
            }
     scanner.close();
     out.close();

}
}