您的位置:首页 > 理论基础 > 计算机网络

格式化网络下载的js文件

2009-03-22 14:00 447 查看
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class FormatJs {

public static void main(String[] args) throws Exception {
String pathUrl = "c:/VAOlwoFwBmQ.js";
String outUrl= "c:/out.js";
InputStream input = new FileInputStream(pathUrl);
OutputStream output = new FileOutputStream(outUrl);
int data = input.read();
int spaceNumber = 2;
int leftFlag = 0;
boolean printFlag = false;
int doubleQute = 0;
int singleQute = 0;
while (data != -1) {

if (leftFlag != 0 && printFlag) {
printSpace(output, spaceNumber, leftFlag);
printFlag = false;
}
if (data == 123) { // {
output.write(123);
if ( singleQute != 1 && doubleQute !=1 ){
output.write(10);
leftFlag = leftFlag + 1;
printFlag = true;
}
} else if (data == 125) {// }
if ( singleQute != 1 && doubleQute !=1 ){
output.write(10);
leftFlag = leftFlag - 1;
printFlag = true;
printSpace(output, spaceNumber, leftFlag);
}
output.write(125);
} else if (data == 59) {// ;
output.write(59);
if ( singleQute != 1 && doubleQute !=1 ){
output.write(10);
printFlag = true;
}
} else if (data ==39){//'
singleQute = singleQute + 1;
output.write(data);
if ( singleQute== 2|| doubleQute == 1){
singleQute = 0;
}
} else if ( data == 34){//"
doubleQute = doubleQute + 1;
output.write(data);
if ( doubleQute == 2 || singleQute == 1)
doubleQute = 0;
}else {
output.write(data);
}

data = input.read();
}
output.flush();
output.close();
input.close();
}

public static void printSpace(OutputStream output, int spaceNumber, int leftFlag) {
try {
for (int i = 0; i < spaceNumber * leftFlag; i++) {
output.write(32);
}
} catch (IOException e) {
e.printStackTrace();
}
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: