添加内容后重新生成csv文件
时间: 2023-10-02 16:05:19 浏览: 34
要向CSV文件中添加内容,可以通过以下步骤实现:
1. 使用Java中的CSV库读取CSV文件的所有内容。
2. 将需要添加的内容添加到数据列表中。
3. 将新的数据列表写回CSV文件中。
以下是一个示例代码,它演示了如何向CSV文件中添加数据:
```
import java.io.*;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class CsvWriter {
public static void main(String[] args) {
List<String[]> data = readCsvFile("data.csv");
System.out.println("Original data:");
printData(data);
String[] newRow = {"John", "Doe", "25", "Male"};
data.add(newRow);
System.out.println("Data after adding a new row:");
printData(data);
writeCsvFile("data.csv", data);
System.out.println("Data written to data.csv");
}
public static List<String[]> readCsvFile(String filename) {
List<String[]> data = new ArrayList<>();
try (BufferedReader br = new BufferedReader(new FileReader(filename))) {
String line;
while ((line = br.readLine()) != null) {
String[] row = line.split(",");
data.add(row);
}
} catch (IOException e) {
e.printStackTrace();
}
return data;
}
public static void writeCsvFile(String filename, List<String[]> data) {
try (BufferedWriter bw = new BufferedWriter(new FileWriter(filename))) {
for (String[] row : data) {
String line = String.join(",", row);
bw.write(line);
bw.newLine();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void printData(List<String[]> data) {
for (String[] row : data) {
System.out.println(Arrays.toString(row));
}
}
}
```
在这个示例中,我们首先读取CSV文件中的所有数据,并将其存储在一个字符串数组列表中。然后,我们向数据列表中添加一个新的行,并打印出添加新行后的数据。最后,我们使用`writeCsvFile`方法将更新的数据写回到CSV文件中。`writeCsvFile`方法遍历数据列表,将每一行转换为以逗号分隔的字符串,并将其写入CSV文件中。