将CSS文件转换为标准格式

当我们使用开源的CSS文件时,常会碰到CSS文件内代码排列在一行。本文代码就是为了解决这个问题,将一行的CSS文件转换为格式优美的文件。

程序如下,语言Java:
package test;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class CssProcess {
    public static void main(String[] args) {
        File input = new File("C:\\Users\\lenovo\\Desktop\\input.txt");
        File output = new File("C:\\Users\\lenovo\\Desktop\\output.txt");
        InputStreamReader reader;
        OutputStreamWriter writer;
        try {
            reader = new InputStreamReader(new FileInputStream(input));
            writer = new OutputStreamWriter(new FileOutputStream(output));
            boolean flag=false;
            boolean flag1=false;
            int tempchar;
            while ((tempchar = reader.read()) != -1) {
                if(tempchar!='\r') {
                    if(tempchar==',') {
                        writer.write(tempchar);
                        if(!flag) {
                            writer.write("\r\n");
                        }
                    }else if(tempchar=='{') {
                        if(flag) {
                            flag1=true;
                        }
                        writer.write(tempchar);
                        writer.write("\r\n");
                        flag=true;
                        writer.write('\t');
                        if(flag1==true) {
                            writer.write('\t');
                        }
                    }else if(tempchar=='}'){
                        if(flag1) {
                            flag1=false;
                            writer.write("\r\n");
                            writer.write('\t');
                            writer.write(tempchar);
                            writer.write("\r\n");
                        }else {
                            writer.write("\r\n");
                            writer.write(tempchar);
                            writer.write("\r\n");
                            writer.write("\r\n");
                            flag=false;
                        }
                    }else if(tempchar==';'){
                        writer.write(tempchar);
                        writer.write("\r\n");
                        if(flag) {
                            writer.write('\t');
                        }
                        if(flag1==true) {
                            writer.write('\t');
                        }
                    }else {
                        writer.write(tempchar);
                    }
                }
            }
            writer.flush();
            reader.close();
            writer.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

猜你喜欢

转载自blog.csdn.net/qq_23599965/article/details/79230014