Это может быть связано с моим предыдущий вопрос (о том, как преобразовать "för" в "för")
Итак, у меня есть файл, который я создаю в своем коде. Сейчас я создаю его по следующему коду:
FileWriter fwOne = new FileWriter(wordIndexPath);
BufferedWriter wordIndex = new BufferedWriter(fwOne);
а затем несколько
wordIndex.write(wordBuilder.toString()); //that's a StringBuilder
заканчивающийся (после цикла while)
wordIndex.close();
Теперь проблема в том, что этот файл огромен, и я хочу (нужно) прыгнуть в него, не просматривая весь файл. Метод seek(long pos)
из RandomAccessFile
позволяет мне это сделать.
Вот моя проблема: символы в файле, который я создал, похоже, закодированы с помощью UTF-8, и единственная информация, которую я имею, когда я ищу, - это позиция символа, к которой я хочу перейти. seek(long pos)
, с другой стороны, прыгает в байтах, поэтому я не оказался в нужном месте, поскольку символ UTF-8 может быть более одного байта.
Вот мой вопрос: могу ли я, когда я пишу файл, записать его в формате ISO-8859-15 (где символ — это байт)? Таким образом, seek(long pos)
поставит меня в правильное положение. Или я должен вместо этого попытаться использовать альтернативу RandomAccessFile
(есть ли альтернатива, в которой вы можете перейти к позиции символа?)