2016-01-28 2 views
0

Например, у меня есть огромный файл, содержащий несколько массивов данных. Я хочу удалить один из этого массива, который находится в метре файла. Можно ли это сделать, не перезаписывая всю вторую часть файла?Удаление части огромного массива, хранящегося в файле

ответ

1

Вам, скорее всего, придется перезаписать весь текст в файле.

Поскольку файл напрямую не ссылается ни на какой язык программирования, ответ на ваш ответ просто «нет». Один из способов сделать это - прочитать файл в памяти, а затем перебрать текстовый файл, пока не найдете сегмент, который вы хотите удалить. Поскольку вы не говорите нам, на каком языке вы программируете, я буду подставлять псевдокод.

try { 
    // Read file into a String-array 
} catch (Exception e) { 
    // Cant read file 
} 

Принимая этот подход, вы можете просто перебирать текст, хранящийся в текстовом файле, например:

while (String.hasNext() //while there is more text in the file) { 
    if (String.next().equals(target)) { 
     // Do something 
    } 
} 

В зависимости от того, что файл состоит и как файл упорядочен различные approches следует принимать. Если массивы в файле упорядочены по каждой строке, вы можете просто загрузить каждую строку текста в отдельный индекс массива. В противном случае вам может потребоваться пересмотреть, как вы сохраняете текст в файле.

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