有人能告诉我如何在不使用外部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]);
}
}}
提前致谢。
答案 0 :(得分:1)
假设您使用的是Java 8,则可以使用流。为此,lines
类上有Files
方法。接下来,您需要map
从String
到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。此列表最终打印到控制台。
答案 1 :(得分:0)