如何在java中按行和列顺序读取csv文件,而不使用外部jar

时间:2014-12-08 11:53:48

标签: java

有人能告诉我如何在不使用外部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]);
    }
}}

提前致谢。

2 个答案:

答案 0 :(得分:1)

假设您使用的是Java 8,则可以使用流。为此,lines类上有Files方法。接下来,您需要mapStringString[]然后您可以处理。

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。此列表最终打印到控制台。

答案 1 :(得分:0)