Pagini recente » Cod sursa (job #1675535) | Cod sursa (job #3148652) | Cod sursa (job #1674991) | Cod sursa (job #461089) | Cod sursa (job #1338413)
package Convertor2;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Hashtable;
import java.util.StringTokenizer;
import java.util.Vector;
class Conv {
Hashtable<String, String> ht = new Hashtable<String, String>();
public Conv (String[] s1, String[] s2, int lung)
{
for (int i = 0; i < lung; i++)
{
ht.put(s1[i], s2[i]);
}
}
public static void main (String[] args) throws IOException
{
BufferedReader br = new BufferedReader (new FileReader("convertor.in"));
BufferedWriter bw = new BufferedWriter (new FileWriter("convertor.out"));
Vector<Conv> convs = new Vector<Conv>();
String all = new String();
try {
StringBuilder sb = new StringBuilder();
String line = br.readLine();
while (line != null) {
sb.append(line);
sb.append(System.lineSeparator());
line = br.readLine();
}
all = sb.toString();
} finally {
br.close();
}
StringTokenizer st1 = new StringTokenizer (all, "{}[]");
while (st1.hasMoreTokens())
{
StringTokenizer st2 = new StringTokenizer (st1.nextToken(), ",\n");
String[] s1 = new String[100];
String[] s2 = new String[100];
int lung = 0;
int parity = 0, len1 = 0, len2 = 0;
while (st2.hasMoreTokens())
{
StringTokenizer st3 = new StringTokenizer (st2.nextToken(), ":\"");
while (st3.hasMoreTokens())
{
String aux = st3.nextToken();
if (aux.trim().length() > 0)
{
if (aux.indexOf(" ") == 0)
{
aux = aux.trim();
}
if (parity % 2 == 0)
{
s1[len1++] = aux;
}
else
{
s2[len2++] = aux;
}
parity ++;
lung = len1;
}
}
}
if (lung != 0)
{
convs.add(new Conv(s1, s2, lung));
}
}
for (Conv cv : convs)
{
System.out.println(cv.ht);
}
for (String key : convs.elementAt(0).ht.keySet())
{
bw.write(key + ",");
}
bw.write("\n");
for (Conv cv : convs)
{
for (String value : cv.ht.values())
{
bw.write(value + ",");
}
bw.write("\n");
}
bw.close();
}
}