#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.