如何在不使用外部jar的情况下在java中按每一行和每一列读取csv文件



有人可以告诉我如何在不使用外部 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 mapString[],然后可以对其进行处理。

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

最新更新