Я использую JMH для измерения времени выполнения алгоритма.Помимо времени, я также хочу, чтобы результаты этого алгоритма выводились в тот же файл, который JMH использует для экономии времени выполнения.
Я уже пытался использовать другой файл для вывода своих результатов.Наличие двух разных файлов (один для времени, другой для результатов) это громоздко.Помимо всего этого, у меня возникают проблемы с его закрытием, когда все тесты сделаны (я использую Level.Trial
, чтобы закрыть файл, но я также использую его для записи вывода, поэтому в следующий раз он долженнапишите файл будет закрыт).Я хочу, чтобы write
произошло в Level.Trial
, но я не нашел другого способа закрыть файл (если я этого не сделаю, результаты не будут записаны).
@Setup(Level.Trial)
public void writeOutput() {
CSVWriter output = new CSVWriter(new FileWriter( /* filename */ ));
}
@TearDown(Level.Trial)
public void writeOutput() {
output.writeNext(new String[] { /* data here */ });
}
@TearDown(Level.Trial)
public void closeFile() {
output.close();
}
Я хотел бы записать результат в тот же выходной файл, который использует JMH (или хотя бы указание, как правильно закрыть файл).