有人可以告诉我如何在不使用外部 jar 的情况下在 java 中按每一行和每一列读取 csv 文件。
我已经尝试了下面的代码,但在这里我一次只能读取一列。
public class ParseCSVs{
public static void main(String[] args) throws Exception {
File file = new File("./input//SIMNumbers.csv");
List<String> lines = Files.readAllLines(file.toPath(),StandardCharsets.UTF_8);
for (String line : lines) {
String[] array = line.split(",");
System.out.println(array[2]);
}
}}
提前谢谢。
假设你使用的是Java 8,你可以使用流。为此,Files
类上有一个lines
方法。接下来,您需要从String
map
到String[]
,然后可以对其进行处理。
public class ParseCSVs{
public static void main(String[] args) throws Exception {
File file = new File("./input//SIMNumbers.csv");
Files.lines(file.toPath(),StandardCharsets.UTF_8)
.substream(1)
.map(line -> Arrays.toList(line.split(",")))
.forEach(System.out::println);
}
}
上面的代码逐行读取文件,将行映射到 String[],而 String[] 又转换为 List。此列表最终打印到控制台。
您可以使用 Scanner 类:https://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
这是来自谷歌搜索的某些页面的示例:http://www.journaldev.com/2335/how-to-read-csv-file-using-java-scanner-class