Nano Hash - криптовалюты, майнинг, программирование

Запись в новый файл со стиранием предыдущих данных Java

Я работаю над проектом и имею файловый объект, установленный через spring (beans), и использую для этого RequiredArgsConstructor Lombok.

Код:

Spring.xml:

<bean id=".." class="ImageDataProcess">
    <constructor-arg ref="x.y.z.file.newImageDataFile" />
    <other constructor args>
</bean>

ImageDataProcess.java:

@RequiredArgsConstructor
public class ImageDataProcess implements PQR {
  private final File newImageDataTextFile;
  //other values coming from spring
      @Override
      public void execute() {
          ://logic here
          :
       Forloop(){
          FileUtils.writeStringToFile(newImageDataTextFile, imageDataFileLine + NEWLINE, true);
        }
    }
}

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

Так, например, у меня уже есть этот файл, сделанный одним запуском программы как image-data.txt размером 2,7 МБ. Когда я запускаю эту программу в другой раз, она делает этот файл как image-data.txt размером 5,4 МБ.

Я также содержание файлов до и после. У него есть дубликаты.

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

Кроме того, в цикле мне нужно добавить данные. Но сделайте новый файл открытым для перезаписи до начала цикла.

Fix:
Can I do something like have the file path from the bean(as this is always the same), but create a new file in the java file using "new File(filepath)". Will this override the existing file always?? Even if the file with the same name is present at the same location??

Подскажите, пожалуйста, как мне добиться этого исправления?? и будет ли вообще работать?? Какими способами я могу это сделать??

Я новичок в пружинах и все такое. Любая помощь приветствуется.


  • установите область действия bean-компонента на прототип scope=prototype в bean-компонентах. 19.10.2016
  • Это не решает проблему :( 19.10.2016

Ответы:


1

Согласно документации FileUtils здесь

Просто измените вызов функции на

FileUtils.writeStringToFile(newImageDataTextFile, imageDataFileLine + NEWLINE, false);

Истинное логическое значение явно указывает утилите просто добавить в файл, а не перезаписывать его.

19.10.2016
  • да, я знаю, что это для добавления. Но это внутри цикла for, поэтому мне нужно добавить туда. Я хочу новый пустой файл с тем же именем до начала forloop. 19.10.2016
  • Какое может быть другое решение сейчас? Java вообще позволяет такое? 19.10.2016
  • Затем просто удалите файл, если он существует до вашего цикла for :) Первая итерация цикла for создаст файл (при условии, что метод writeStringToFile создает файл, если он не существует, если нет, вам придется вручную создать файл), затем добавьте к нему. Таким образом, каждый раз, когда вызывается ваш метод, он стирает старый файл, создает новый и добавляет к нему добавление. 19.10.2016
  • Эй, я нашел способ сделать это. используя класс Printwriter. Но тест-кейс не проходит. пожалуйста, помогите, если можете. Я разместил вопрос здесь: stackoverflow.com/questions/40173392/ 21.10.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..