Как загрузить файл IF и изменить его при разработке плагина eclipse

#eclipse #eclipse-plugin #eclipse-rcp

#eclipse #eclipse-плагин #eclipse-rcp

Вопрос:

У меня есть файл IF, показывающий абсолютный путь как

/dynamic/WebContent/testing.html

Я хочу внести некоторые изменения в вышеупомянутое testing.html. Это означает, что мне нужно загрузить файл, затем изменить его, а затем сохранить. Какова процедура выполнения вышеуказанных шагов в eclipse plug-in development.

Ответ №1:

Смотрите iFile.getContents(), setContents() и create() методы.

Используйте getContents для чтения файла в память, измените его, затем используйте setContents для его записи. Это позволит синхронизировать ваше рабочее пространство. Если вы попытаетесь преобразовать в файл и использовать стандартный ввод-вывод файлов Java, ваше рабочее пространство будет не синхронизировано (потребуется обновление) и вы будете полностью несовместимы с другими системами хранения файлов, используемыми Eclipse

Комментарии:

1. Как установить содержимое в некоторую определенную позицию файла. Разве мне не нужно динамически загружать файл.

2. Используйте getContents для чтения файла в память, измените его, затем используйте setContents для его записи. Это позволит синхронизировать ваше рабочее пространство. Если вы попытаетесь перейти к File и использовать Java RandomAccessFile, ваше рабочее пространство будет не синхронизировано (потребуется обновление) и вы будете полностью несовместимы с другими системами хранения файлов, используемыми Eclipse.

3. Если у вас есть вопросы о том, как изменить содержимое HTML с помощью новой информации, пожалуйста, опубликуйте это как отдельный вопрос, поскольку это не имеет большого отношения к Eclipse или файловому вводу-выводу.

4. @Konstantin Komissarchik: Мой 1 за точку рассинхронизации. Обычно это упускается из виду. Предлагаю вам также указать это в своем ответе.

5. После использования getContents для изменения содержимого мне нужно использовать bUfferedInput / DataInputStream для записи в определенную точку файла.

Ответ №2:

Если ваш файл локальный, попробуйте :

 import java.io.RandomAccessFile;
RandomAccessFile file = new RandomAccessFile("IFile".getLocation().toFile(), "rwd");
  

Комментарии:

1. Хороший момент, но это всего лишь альтернатива на случай, если вам нужен произвольный доступ, а getContents (), setContents() работают слишком медленно.