Используйте RandomAccessFile, доберитесь, это - канал, затем назовите блокировку (). Канал, обеспеченный потоками ввода или вывода, не имеет необходимых полномочий для блокировки правильно. Обязательно звоните, разблокировали () в наконец блок (закрывающий файл, не обязательно выпускает блокировку).
Похоже, вам нужно определить структуру элемента-заполнителя для элементов элемента, возвращаемых запросом.
Предлагаю прочитать эту статью. Немного старовато, но иллюстрирует концепцию. http://www.4guysfromrolla.com/articles/122607-1.aspx