Файл CSV на Java должен спросить пользователя, какую строку удалить, удалить ее и обновить таблицу?

#java #file #csv #save #delete-row

#ява #файл #csv #Сохранить #удалить-строка #java

Вопрос:

Используя Java, я пытаюсь удалить строки, используя пользовательский ввод, я хочу, чтобы код удалил указанную строку, а затем обновил файл.

исходный снимок экрана

Я пробовал использовать разные методы, однако в них слишком много ошибок.

 B00987  58
B00567  43
B00343  59
B00653  25
B00757  31
B00876  40
B00421  62
B00568  78
B00826  79
B00126  93
B00862  62
B00999  12
B00237  68
B00762  85
B00864  49
B00786  85
  

Мой код, который выдает мне ошибку:

 if(!flag)
        pw.printline(line1);
    line1 = br1.readLine();
}
pw.flush();

br1.close();
pw.close();
    {
System.out.println("Student has been deleted sucsessfully");

} catch (Exception e) {


   System.out.println(e.getMessage());


} 
}
  

Комментарии:

1. Пожалуйста, укажите код, который вы пробовали, даже если он не был успешным / имел ошибки.

2. Вам нужно задать более конкретные вопросы, связанные с программированием, чтобы получить ответы.

3. я добавил изображения своего кода

4. Вам нужно добавить код в виде текста, сократить его до разделов, по которым у вас есть вопросы, а также уточнить, какие ошибки вы видите и какое поведение вы видите и ожидаете

5. скопируйте и вставьте код в свой вопрос

Ответ №1:

Непроверенный, но должно быть достаточно, чтобы перейти отсюда:

 void deleteStudent(String deleteLine)
{
    ....
    String line;
    while((line = reader.readLine()) != null)
    {
        if (!line.equals(deleteLine))
        {
            pw.printline(line);
        }
    }
    pw.close();
}
  

Существует ряд новых методов (streams и NIO2), которые сделали бы код более компактным, но для этого требуются более поздние версии Java и / или не начальный уровень (что можно оспорить).

Комментарии:

1. Возможно, вам потребуется использовать другое значение equals, если вы не указываете всю строку для удаления, а только код student.