diff options
Diffstat (limited to 'src/cppcheckplus/text/FileTools.java')
-rw-r--r-- | src/cppcheckplus/text/FileTools.java | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/src/cppcheckplus/text/FileTools.java b/src/cppcheckplus/text/FileTools.java new file mode 100644 index 0000000..95dd4fb --- /dev/null +++ b/src/cppcheckplus/text/FileTools.java | |||
@@ -0,0 +1,84 @@ | |||
1 | package cppcheckplus.text; | ||
2 | |||
3 | import java.io.BufferedReader; | ||
4 | import java.io.BufferedWriter; | ||
5 | import java.io.File; | ||
6 | import java.io.FileOutputStream; | ||
7 | import java.io.FileReader; | ||
8 | import java.io.FileWriter; | ||
9 | import java.util.Vector; | ||
10 | |||
11 | import org.dom4j.Document; | ||
12 | import org.dom4j.DocumentHelper; | ||
13 | import org.dom4j.Element; | ||
14 | import org.dom4j.io.OutputFormat; | ||
15 | import org.dom4j.io.XMLWriter; | ||
16 | |||
17 | public class FileTools { | ||
18 | |||
19 | public static String readFile(File file) { | ||
20 | StringBuilder resultStr = new StringBuilder(); | ||
21 | try { | ||
22 | BufferedReader bReader = new BufferedReader(new FileReader(file)); | ||
23 | String line = bReader.readLine(); | ||
24 | while (line != null) { | ||
25 | resultStr.append(line + "\r\n"); | ||
26 | line = bReader.readLine(); | ||
27 | } | ||
28 | bReader.close(); | ||
29 | } catch (Exception e) { | ||
30 | e.printStackTrace(); | ||
31 | } | ||
32 | return resultStr.toString(); | ||
33 | } | ||
34 | |||
35 | public static void writeFile(File file, String str) { | ||
36 | try { | ||
37 | BufferedWriter bWriter = new BufferedWriter(new FileWriter(file)); | ||
38 | bWriter.write(str); | ||
39 | bWriter.close(); | ||
40 | } catch (Exception e) { | ||
41 | e.printStackTrace(); | ||
42 | } | ||
43 | } | ||
44 | |||
45 | public static void writeFile(File file, Vector<DeflectRow> rows) {// xml | ||
46 | try { | ||
47 | Document doc = DocumentHelper.createDocument(); | ||
48 | Element root = doc.addElement("缺陷报告"); | ||
49 | int n = 0; | ||
50 | if (rows != null && rows.size() > 0) { | ||
51 | for (DeflectRow row : rows) { | ||
52 | if (row.getIssure() == 0 || row.getIssure() == 2) | ||
53 | continue; | ||
54 | n++; | ||
55 | Element empEle = root.addElement("item"); | ||
56 | |||
57 | Element untilEle = empEle.addElement("工具"); | ||
58 | untilEle.addText(row.getUntil()); | ||
59 | Element fileEle = empEle.addElement("文件路径"); | ||
60 | fileEle.addText(row.getFile()); | ||
61 | Element lineEle = empEle.addElement("行号"); | ||
62 | lineEle.addText(row.getLine()); | ||
63 | Element levelEle = empEle.addElement("级别"); | ||
64 | levelEle.addText(row.getLevel()); | ||
65 | Element typeEle = empEle.addElement("类型"); | ||
66 | typeEle.addText(row.getType()); | ||
67 | Element descEle = empEle.addElement("描述"); | ||
68 | descEle.addText(row.getDescription()); | ||
69 | empEle.addAttribute("id", n + ""); | ||
70 | } | ||
71 | XMLWriter writer = new XMLWriter(OutputFormat.createPrettyPrint()); | ||
72 | FileOutputStream fos = new FileOutputStream(file); | ||
73 | writer.setOutputStream(fos); | ||
74 | writer.write(doc); | ||
75 | System.out.println("写出完毕!"); | ||
76 | writer.close(); | ||
77 | |||
78 | } | ||
79 | } catch (Exception e) { | ||
80 | e.printStackTrace(); | ||
81 | } | ||
82 | } | ||
83 | |||
84 | } \ No newline at end of file | ||