java读写csv文件的共通方法
时间: 2024-05-13 09:16:36 浏览: 8
读取CSV文件的常见方法有两种:使用Java内置的Scanner类和使用第三方库OpenCSV。
使用Scanner类读取CSV文件的示例代码如下:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class CsvReader {
public static void main(String[] args) {
File file = new File("input.csv");
try {
Scanner scanner = new Scanner(file);
while (scanner.hasNextLine()) {
String line = scanner.nextLine();
String[] fields = line.split(",");
for (String field : fields) {
System.out.print(field + "\t");
}
System.out.println();
}
scanner.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
使用OpenCSV库读取CSV文件的示例代码如下:
```java
import com.opencsv.CSVReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
public class CsvReader {
public static void main(String[] args) {
String csvFile = "input.csv";
try {
CSVReader reader = new CSVReader(new FileReader(csvFile));
String[] line;
while ((line = reader.readNext()) != null) {
for (String field : line) {
System.out.print(field + "\t");
}
System.out.println();
}
reader.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
写入CSV文件的常见方法也有两种:使用Java内置的PrintWriter类和使用第三方库OpenCSV。
使用PrintWriter类写入CSV文件的示例代码如下:
```java
import java.io.File;
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.List;
public class CsvWriter {
public static void main(String[] args) {
File file = new File("output.csv");
try {
PrintWriter writer = new PrintWriter(file);
List<String[]> lines = new ArrayList<>();
lines.add(new String[]{"Name", "Age", "Gender"});
lines.add(new String[]{"John", "30", "Male"});
lines.add(new String[]{"Mary", "25", "Female"});
for (String[] line : lines) {
for (int i = 0; i < line.length; i++) {
writer.print(line[i]);
if (i < line.length - 1) {
writer.print(",");
}
}
writer.println();
}
writer.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
```
使用OpenCSV库写入CSV文件的示例代码如下:
```java
import com.opencsv.CSVWriter;
import java.io.File;
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";
try {
CSVWriter writer = new CSVWriter(new FileWriter(csvFile));
List<String[]> lines = new ArrayList<>();
lines.add(new String[]{"Name", "Age", "Gender"});
lines.add(new String[]{"John", "30", "Male"});
lines.add(new String[]{"Mary", "25", "Female"});
writer.writeAll(lines);
writer.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```