次のコードを使用してデータを抽出し、CSVファイルに保存しています。しかし、今問題は、プログラムがデータをCSVファイルに書き込んで、コードが再び実行されるたびに、そのファイルが削除され、古い結果が新しいファイルに置き換えられることです。 質問は、結果を保存して新しい結果を新しい行に保存する方法はありますか?はいの場合はどうすればいいですか?このライブラリApache POIアウト結果をExcelファイルまたはCSVファイルに保存するにはどうすればよいですか?
private void writeReport() {
BufferedWriter out = null;
try {
FileWriter fstream = new FileWriter("out.csv");
out = new BufferedWriter(fstream);
out.write("File Name;");
out.write("Total Lines of Code;");
out.write("Executable Lines;");
out.write("Lines of Comments;");
out.write("Trivial Lines;");
out.write("Empty Lines;");
out.write("Code Complexity;");
out.write("Number of Files;"); //to be changed to numver of files
out.write("Average File Complexity;"); //to be changed to averag file complexity
out.write("Comment Percentage;"); //total
out.write("Total Lines of Test Code;");
out.write("Total Comments in Tests;");
out.write("Total Trivial Lines in Tests;");
out.write("Total Empty Lines in Tests;");
out.write("Total Number of Test Files;");
out.write("Comment Presentage in Test;");
out.write(System.getProperty("line.separator"));
// for (int i = 0; i < newFiles.getNrOfFiles(); i++) {
out.write("test" + ";");
// out.write(newFiles.getParser(i).getSourceFile().getName()+ ";");
out.write(String.valueOf(newFiles.sumLinesOfCode()) + ";");
out.write(String.valueOf(newFiles.sumLinesOfStatements()) + ";");
out.write(String.valueOf(newFiles.sumLinesOfComments()) + ";");
out.write(String.valueOf(newFiles.sumTrivialLines()) + ";");
out.write(String.valueOf(newFiles.sumEmptyLines()) + ";");
out.write(String.valueOf(newFiles.sumComplexity())+ ";");
out.write(String.valueOf(newFiles.getNrOfFiles()) + ";");
out.write(String.valueOf(newFiles.sumAvgComplexity()) + ";");
out.write(String.valueOf((100 * newFiles.sumLinesOfComments())/newFiles.sumLinesOfCode() + "%") + ";");
out.write(System.getProperty("line.separator"));
//Close the output stream
out.close();
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
// return;
}
}
「新しいFileWriter(アウト)」はどうですか? – KevinO