Pagini recente » Cod sursa (job #48611) | Cod sursa (job #542395) | Cod sursa (job #2918349) | Cod sursa (job #2907832) | Cod sursa (job #1342295)
import java.io.*;
import java.util.NoSuchElementException;
import java.util.Scanner;
public class Main
{
public static int charAppears(String s, char ch)
{
int counter = 0;
for(int i = 0; i < s.length(); i++)
{
if(s.charAt(i) == ch)
counter++;
}
s = null;
return counter;
}
public static String deleteChar(String s)
{
while(s.charAt(0) == ' ' || s.charAt(0) == '"' || s.charAt(s.length() - 1) == ' ' || s.charAt(s.length() - 1) == '"' || s.charAt(s.length() - 1) == '}' || s.charAt(s.length() - 1) == ',')
{
if(s.charAt(0) == ' ' || s.charAt(0) == '"')
s = s.substring(1);
if(s.charAt(s.length() - 1) == ' ' || s.charAt(s.length() - 1) == '"' || s.charAt(s.length() - 1) == '}' || s.charAt(s.length() - 1) == ',')
s = s.substring(0,s.length() - 1);
}
return s;
}
public static void main(String[] args) throws IOException
{
Scanner sc = new Scanner(new FileInputStream("convertor.in"));
StringBuilder JSON = new StringBuilder(sc.useDelimiter("},").next().replaceAll("(\\r|\\n)", ""));
PrintWriter writer = new PrintWriter("convertor.out");
// prima linie
int a = JSON.indexOf("\"") + 1, b = JSON.indexOf(":") - 1;
int m = charAppears(JSON.toString(), ',') + 1; //nr virgulelor ne da nr coloanelor
for (int i = 0; i < m; i++)
{
try
{
writer.print(deleteChar(JSON.substring(a, b)) + ",");
}catch(IndexOutOfBoundsException e)
{
a = JSON.lastIndexOf("\"");
writer.print(deleteChar(JSON.substring(a, b)) + ",");
}
a = JSON.indexOf(",", a) + 1;
b = JSON.indexOf(":", b + 2) - 1;
}
sc.close();
//urmatoarele linii
Scanner sc2 = new Scanner(new FileInputStream("convertor.in"));
while(sc2.hasNextLine())
{
try
{
JSON = new StringBuilder(sc2.useDelimiter("},").next().replaceAll("(\\r|\\n)", ""));
}catch(NoSuchElementException e)
{
//prind eroarea deoarece ultima linie din fisierul de intrare se termina cu "}", nu cu "}," ca si restul
}
writer.println();
a = b = 0;
for(int j = 0; j < m; j++)
{
a = JSON.indexOf(":", a) + 1;
b = JSON.indexOf(",", b) + 1;
try //pe ultima linie nu voi mai avea "}," si va da eroare
{
writer.print(deleteChar(JSON.substring(a, b)) + ",");
}catch (StringIndexOutOfBoundsException e)
{
b = JSON.lastIndexOf("\"");
writer.print(deleteChar(JSON.substring(a, b)) + ",");
}
}
}
sc2.close();
writer.close();
}
}