我正在尝试使用 Java 处理 csv 文件。
拆分后,我想处理文件的第一列。
但是当我打印我的变量 (cities = dataContent[0]
) 时,我仍然在控制台中保留了所有文件。
package klm.java.controlFile;
import java.io.*;
public class ControleCSV {
public static void main(String[] args) {
try{
FileReader fr = new FileReader("communes_avec_erreurs.csv");
BufferedReader br = new BufferedReader(fr);
String dataContent[];
String cities;
StringBuilder lsbContenu = new StringBuilder();
String lsLigne;
while ((lsLigne = br.readLine()) != null) {
dataContent = lsLigne.split(";");
for(int i = 0; i < dataContent.length; i++){
lsbContenu.append(dataContent[i]);
lsbContenu.append("\n");
cities = dataContent[0];
System.out.println(cities);
}
}
br.close();
fr.close();
// System.out.println(lsbContenu.toString());
} catch (FileNotFoundException e) {
System.err.println("Erreur de fichier : " + e.getMessage());
} catch (IOException e) {
System.err.println("Erreur de lecture : " + e.getMessage());
}
}
}
最佳答案
将这部分移到 for 循环之外,但仍保留在 while 循环中:
cities = dataContent[0];
System.out.println(cities);
像这样:
while ((lsLigne = br.readLine()) != null) {
dataContent = lsLigne.split(";");
for(int i = 0; i < dataContent.length; i++){
lsbContenu.append(dataContent[i]);
lsbContenu.append("\n");
}
cities = dataContent[0];
System.out.println(cities);
}
关于java - 如何使用 Java fileReader 拆分后打印 CSV 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59765933/