import sys
if len(sys.argv) > 1:
filename = sys.argv[1]
else:
filename = 'type1.txt'
print 'processing %s'%filename
f = open(filename, 'r')
s = f.read()
layer = 0
nstr = ''
for k in range(0, len(s)):
if s[k] == '{': layer+=1
if s[k] == '\t': continue
nstr += s[k]
if s[k] == '\n':
nstr += '\t' * layer
if s[k] == '}': layer-=1
nstr = nstr.replace(' ', ' ')
for k in range(6):
nstr = nstr.replace('\n'+k*'\t'+'{', '{')
for k in range(4):
nstr = nstr.replace(' }', '}')
for k in range(4):
nstr = nstr.replace('\n'+'\t'*k+'\n', '\n')
for k in range(6):
pstr = '\n'+'\t'*k+'}'
nstr = nstr.replace(pstr, '}')
f.close()
f = open('type1_turn.txt', 'w')
f.write(nstr)
f.close()
print 'fin'
转换后的JAVA例子:
package test;
public class testThread{
@SuppressWarnings("static-access")
public static void main (String s[]){
System.out.println("iphxer");
new Thread(new B("iphxer0")).start();
new Thread(new B("iphxer1")).start();
new Thread(new B("iphxer2")).start();
new Thread(new B("iphxer3")).start();
try{
Thread.sleep(5000);}
catch(InterruptedException e){
e.printStackTrace();}
Thread current = Thread.currentThread();
System.out.println(current.getPriority());
System.out.println(current.getName());
System.out.println(current.activeCount());
System.out.println(current.getId());
System.out.println(current.getThreadGroup());
System.out.println(current.getStackTrace());
System.out.println(current.hashCode());
System.out.println(current.toString());}}
class B implements Runnable{
private int num=0;
private String name;
public B(String s){
this.name = s;}
public void run(){
System.out.println(this.name);
try{
Thread.sleep(1000);}
catch (InterruptedException e){
e.printStackTrace();}}}
嘿嘿嘿。