summaryrefslogtreecommitdiffstats
path: root/src/cppcheckplus/text/FileTools.java
blob: 95dd4fbea8279dfc8dbb7f84ae92bce1950870fc (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
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() == 0 || row.getIssure() == 2)
						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();
		}
	}

}