请帮助我阅读Java中CSV文件的第一列。这是我的代码:
public void fileload(String filename)throws IOException
{ int i=0;
//Sorter S= new Sorter();
File file=new File(filename); //Read File
Scanner inputfile = new Scanner(file);
while(inputfile.hasNext()) //Reading file content
{
orgarr[i]= inputfile.nextLine();
System.out.println(orgarr[i]);
i++;
}
答案 0 :(得分:1)
您可以使用commons-csv来读取格式,例如假设CSVFormat.DEFAULT
带有可选的带引号的文本列和逗号作为分隔符:
try (FileReader reader = new FileReader("your/path/to/file.csv")) {
CSVParser parser = new CSVParser(reader, CSVFormat.DEFAULT);
parser.getRecords().stream()
.map(r -> r.get(0))
.forEach(System.out::println);
}
最好的解决方案将取决于您的文件格式和大小。上面的内容可能不适用于大型CSV文件,因为它会使用getRecords()
将所有记录加载到内存中。
答案 1 :(得分:0)
在这里我采用第一列,但在各列之间放置一个逗号,当我发现数字10在第一列中时,我会打招呼
File file = new File("src/test/resources/aaaa.csv");
List<String> lines = Files.readAllLines(file.toPath(),
StandardCharsets.UTF_8);
lines.stream().forEach(l -> {
String[] array = l.split(",", 2);
if(array[0].equals("10"))
System.out.println("Hello");
});