Удаление строки из файла, если в нем есть x столбцов с использованием java

У меня есть .txt или .xlsx с большим количеством строк и 4 или 5 столбцов. Я хотел бы написать программу на Java, которая удаляет все строки с 5 столбцами.

Как мне прочитать данные и удалить строки в зависимости от количества столбцов?

Удалить строку, содержащую более X столбцов в csv Я нашел здесь этот вопрос, но его нет в java, и я не знаю, как использовать awk


person mani shekar    schedule 18.05.2021    source источник
comment
Попробуй посмотреть что-нибудь вроде: как читать файл на Java, как писать в файл на Java? Никто не собирается писать за вас весь код   -  person azro    schedule 18.05.2021


Ответы (1)


Во-первых, вам нужно прочитать файл построчно и создать StringBuilder для хранения действительных строк.

когда вы читаете строку за строкой и проверяете, имеет ли эта строка 5 столбцов или нет, если она не добавляет ее в StringBuilder, то в конце вы можете записать ее в файл

Чтобы проверить, содержит ли эта строка 5 столбцов или нет

Если ваша строка выглядит так a,b,c,d,e, тогда строка из 5 столбцов будет содержать 4 ,, и есть много способов проверить, содержит ли она 4 , или нет, например, один из способов - заменить его пустым символом и проверить длину строки до и после

int numberOfComma = line.length() - line.replaceAll(",", "").length();

или используйте цикл и подсчитайте количество , в строке

person AmrDeveloper    schedule 18.05.2021