java读写csv文件
时间: 2023-07-08 18:34:14 浏览: 203
Java中读写CSV文件可以使用第三方库如OpenCSV或uniVocity-parsers,也可以使用Java内置的CSV解析器。
以下是使用Java内置的CSV解析器读取CSV文件的示例代码:
```java
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CSVReader {
public static void main(String[] args) {
String csvFile = "data.csv";
String line = "";
String cvsSplitBy = ",";
List<String[]> rows = new ArrayList<String[]>();
try (BufferedReader br = new BufferedReader(new FileReader(csvFile))) {
while ((line = br.readLine()) != null) {
// use comma as separator
String[] row = line.split(cvsSplitBy);
rows.add(row);
}
} catch (IOException e) {
e.printStackTrace();
}
// print all rows
for (String[] row : rows) {
System.out.println(row[0] + " " + row[1] + " " + row[2]);
}
}
}
```
上述代码将读取名为"data.csv"的CSV文件,并将其内容存储在一个List<String[]>中,然后遍历并打印所有行。可以根据需要修改输出格式。
写入CSV文件可以使用Java内置的CSV格式化器,以下是示例代码:
```java
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class CSVWriter {
public static void main(String[] args) {
String csvFile = "output.csv";
String lineSeparator = System.lineSeparator();
List<String[]> rows = new ArrayList<String[]>();
rows.add(new String[] { "John", "Doe", "35" });
rows.add(new String[] { "Jane", "Doe", "30" });
rows.add(new String[] { "Bob", "Smith", "25" });
try (FileWriter writer = new FileWriter(csvFile)) {
for (String[] row : rows) {
String line = String.join(",", row) + lineSeparator;
writer.write(line);
}
System.out.println("CSV file created successfully.");
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
上述代码将创建名为"output.csv"的CSV文件,并将三行数据写入其中。可以根据需要修改行数据和输出文件名。
阅读全文