summaryrefslogtreecommitdiffstats
path: root/src/cppcheckplus/text/FileTools.java
blob: 9da0c755a302a0d9cae993db82b13224722e7fd1 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
package cppcheckplus.text;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.Vector;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.XMLWriter;

public class FileTools {

    public static String readFile(File file) {
        StringBuilder resultStr = new StringBuilder();
        try {
            BufferedReader bReader = new BufferedReader(new FileReader(file));
            String line = bReader.readLine();
            while (line != null) {
                resultStr.append(line + "\r\n");
                line = bReader.readLine();
            }
            bReader.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resultStr.toString();
    }

    public static void writeFile(File file, String str) {
        try {
            BufferedWriter bWriter = new BufferedWriter(new FileWriter(file));
            bWriter.write(str);
            bWriter.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public static void writeFile(File file, Vector<DeflectRow> rows) {// xml
        try {
            Document doc = DocumentHelper.createDocument();
            Element root = doc.addElement("缺陷报告");
            int n = 0;
            if (rows != null && rows.size() > 0) {
                for (DeflectRow row : rows) {
                    if (row.getIssure() == DeflectRow.Issure.WRONG_ISSURE) {
                        continue;
                    }
                    n++;
                    Element empEle = root.addElement("item");

                    Element untilEle = empEle.addElement("工具");
                    untilEle.addText(row.getUntil());
                    Element fileEle = empEle.addElement("文件路径");
                    fileEle.addText(row.getFile());
                    Element lineEle = empEle.addElement("行号");
                    lineEle.addText(row.getLine());
                    Element levelEle = empEle.addElement("级别");
                    levelEle.addText(row.getLevel());
                    Element typeEle = empEle.addElement("类型");
                    typeEle.addText(row.getType());
                    Element descEle = empEle.addElement("描述");
                    descEle.addText(row.getDescription());
                    empEle.addAttribute("id", n + "");
                }
                XMLWriter writer =
                    new XMLWriter(OutputFormat.createPrettyPrint());
                FileOutputStream fos = new FileOutputStream(file);
                writer.setOutputStream(fos);
                writer.write(doc);
                System.out.println("写出完毕!");
                writer.close();

            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}