Java 使用CSVBuilderService保存CSV?
我创建了一个CsvBuilderServiceJava 使用CSVBuilderService保存CSV?,java,file,csv,Java,File,Csv,我创建了一个CsvBuilderService CSVBuilderService<Vector<Object>> builder = new CSVBuilderService<Vector<Object>>(); tableDataMatrixTemp是一个向量 现在,如何在CSV上打印该文件并将其保存在指定路径上?(我不想从web下载文件,只想将其保存到路径中)。使用 下面的代码片段可能会帮助您 public void writeCSV(
CSVBuilderService<Vector<Object>> builder = new CSVBuilderService<Vector<Object>>();
tableDataMatrixTemp是一个向量
现在,如何在CSV上打印该文件并将其保存在指定路径上?(我不想从web下载文件,只想将其保存到路径中)。使用
下面的代码片段可能会帮助您强>
public void writeCSV() {
// Delimiter used in CSV file
private static final String NEW_LINE_SEPARATOR = "\n";
// CSV file header
private static final Object[] FILE_HEADER = { "Empoyee Name","Empoyee Code", "In Time", "Out Time", "Duration", "Is Working Day" };
String fileName = "fileName.csv");
List<Objects> objects = new ArrayList<Objects>();
FileWriter fileWriter = null;
CSVPrinter csvFilePrinter = null;
// Create the CSVFormat object with "\n" as a record delimiter
CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator(NEW_LINE_SEPARATOR);
try {
fileWriter = new FileWriter(fileName);
csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);
csvFilePrinter.printRecord(FILE_HEADER);
// Write a new student object list to the CSV file
for (Object object : objects) {
List<String> record = new ArrayList<String>();
record.add(object.getValue1().toString());
record.add(object.getValue2().toString());
record.add(object.getValue3().toString());
csvFilePrinter.printRecord(record);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fileWriter.flush();
fileWriter.close();
csvFilePrinter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
public void writeCSV(){
//CSV文件中使用的分隔符
私有静态最终字符串NEW\u LINE\u SEPARATOR=“\n”;
//CSV文件头
私有静态最终对象[]文件头={“员工姓名”、“员工代码”、“时间”、“超时”、“持续时间”、“是工作日”};
字符串fileName=“fileName.csv”);
列表对象=新的ArrayList();
FileWriter FileWriter=null;
CSVPrinter csvFilePrinter=null;
//创建以“\n”作为记录分隔符的CSVFormat对象
CSVFormat csvFileFormat=CSVFormat.DEFAULT.withRecordSeparator(新的行分隔符);
试一试{
fileWriter=新的fileWriter(文件名);
csvFilePrinter=新的CSVPrinter(fileWriter,csvFileFormat);
打印记录(文件头);
//将新的学生对象列表写入CSV文件
用于(对象:对象){
列表记录=新的ArrayList();
添加(object.getValue1().toString());
add(object.getValue2().toString());
添加(object.getValue3().toString());
打印记录(记录);
}
}捕获(例外e){
e、 printStackTrace();
}最后{
试一试{
fileWriter.flush();
fileWriter.close();
csvFilePrinter.close();
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
ByteArrayOutputStream os = (ByteArrayOutputStream)builder.buildCsvToStream(tableDataMatrixTemp);
try(FileOutputStream fos = new FileOutputStream("your-filename-goes-here")) {
os.writeTo(fos);
}
public void writeCSV() {
// Delimiter used in CSV file
private static final String NEW_LINE_SEPARATOR = "\n";
// CSV file header
private static final Object[] FILE_HEADER = { "Empoyee Name","Empoyee Code", "In Time", "Out Time", "Duration", "Is Working Day" };
String fileName = "fileName.csv");
List<Objects> objects = new ArrayList<Objects>();
FileWriter fileWriter = null;
CSVPrinter csvFilePrinter = null;
// Create the CSVFormat object with "\n" as a record delimiter
CSVFormat csvFileFormat = CSVFormat.DEFAULT.withRecordSeparator(NEW_LINE_SEPARATOR);
try {
fileWriter = new FileWriter(fileName);
csvFilePrinter = new CSVPrinter(fileWriter, csvFileFormat);
csvFilePrinter.printRecord(FILE_HEADER);
// Write a new student object list to the CSV file
for (Object object : objects) {
List<String> record = new ArrayList<String>();
record.add(object.getValue1().toString());
record.add(object.getValue2().toString());
record.add(object.getValue3().toString());
csvFilePrinter.printRecord(record);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fileWriter.flush();
fileWriter.close();
csvFilePrinter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}