У меня есть файл CSV, который выглядит как этотCSV синтаксический и поиск в Java
"key,"id.attr.id","id.attr.id1","id.attr.id2","id.attr.id7","id.attr.arry","id.attr.arry1","id.attr.arry2","id.attr.arry5","id.attr.arry4"
// this header goes on for around next 600 field.
"1","0",,,"8",,,"8",,"8"
"2","3",,,"7",,,"7",,"7"
"3","4",,,"8",,,"8",,"8"
"4","5",,,"7",,,"7",,"7"
"5","4",,,"8",,,"8",,"8"
"6","3",,,"7",,,"7",,"7"
"7","4",,,"8",,,"8",,"8"
"8","5",,,"7",,,"7",,"7"
"9","3",,,"8",,,"8",,"8"
"10","6",,,"7",,,"7",,"7"
Сейчас я пытаюсь искать через содержание таким образом, чтобы он будет возвращать значения сказать " id.attr.id "он будет искать все соответствующие значения.
формат результата будет
"key","id.attr.id","id.attr.id7"
"1","0","8"
"2","3","7"
"3","4","8"
"4","5","7"
"5","4","8"
"6","3","7"
"7","4","8"
"8","5","7"
"9","3","8"
"10","6","7"
, а также для «id.attr.arry»
Вот код я пытаюсь .. но бесполезно.
public void run() {
String csvFile = "/Users/file.csv";
BufferedReader br = null;
String line = "";
String cvsSplitBy = ",";
try {
br = new BufferedReader(new FileReader(csvFile));
while ((line = br.readLine()) != null) {
// use comma as separator
String[] id = line.split(cvsSplitBy);
int j=0;
for (j:id.size()){
if (id[1]=="id.attr.id"+j){
return true;
//don't know then how to check }
else {
int i=0;
} }
}
так что мой вопрос в том, как достичь этого результата?
Еще лучше: используйте парсер CSV. Также в Java строки сравниваются с помощью equals(), а не ==. – m0skit0
'for (j: id.size()) {' недействительный синтаксис, и, пожалуйста, отложите свой код правильно, особенно если это неясная часть. –
Хотя вы приняли ответ, в котором используется Java с ручным кодированием, я все же умоляю вас использовать синтаксический анализатор качества CSV хорошего качества. Файлы CSV могут содержать комментарии, многострочные записи, встроенные внутри запятые данные, экранированные двойные кавычки и т. Д. (См. [CSV RFC] (https://tools.ietf.org/html/rfc4180)). Написание кода вручную для всех этих случаев является не только жестким, но и ненужным, учитывая, что есть хорошие решения. – manish