2017-02-07 3 views
0

Я хочу, чтобы применить «первым последним из» стратегии в текстовом файлеFILO стратегия ява письма в текстовом файле

Если предположить, что у меня есть файл, содержащий несколько «измерений», и я не хочу содержит более 10 строк, я доступ к ней:

  • Если < 10 = вставить значение и записать строки в другой поддержке
  • Если> = 10 = вставить значение и писать только последнюю 10 строк (и удалите другие)

Чтобы сделать это просто, если предположить, что мой файл похож (не заряжать его немного больше, я просто положить немного разрыв строки, как это было в Java)

Файл:

1 "\n" 2 "\n" 3 "\n" 4 "\n" 5 "\n" 6 "\n" 7 "\n" 8 "\n" 9 "\n" 10 

сейчас Я хочу, чтобы вставить новые данные в файл и получить последний 10, новые данные :

Мой файл должен выглядеть следующим образом:

2 "\n" 3 "\n" 4 "\n" 5 "\n" 6 "\n" 7 "\n" 8 "\n" 9 "\n" 10 "\n" 11 

Есть ли способ сделать это в java?

+1

Вы указываете в первой строке «Первый в последних из». Но в остальной части описания и в примере, который вы даете, вы делаете сначала сначала. Какой ты хочешь? – ControlAltDel

+0

Не простой, если это то, что вы имеете в виду. Файл хранится как последовательность байтов, а не последовательность строк. Вам нужно будет прочитать весь файл, удалить записи по мере необходимости и написать весь контент. Возможно, вы захотите взглянуть на файлы кругового и произвольного доступа. – Paul

+0

@ControlAltDel: no it's First in Last out, последнее введенное значение будет последним значением отклонено –

ответ

0

Уверенный есть.

  • Написать метод, который считывает этот файл в полезную структуру данных, например List<Integer>
  • Затем манипулировать содержание этой структуры данных, например, используя List.remove(int index), чтобы удалить первую запись; а затем добавить, что один новый элемент
  • Затем написать эту структуру данных обратно в файл
+0

May работает! Благодаря ! Я искал алгоритмическую помощь, а не код :) –

Смежные вопросы