#java #arrays #eclipse #file-io
#java #массивы #eclipse #file-io
Вопрос:
Я создал класс осадков, который хранит количество (в дюймах) осадков в течение года (всего 12 значений). У меня это работает, но теперь мне нужно распечатать эти значения в выходной файл (я назвал его RainFall.txt ). Когда я запускаю код и проверяю файл, он сохраняет только первое значение массива.
Я уже пробовал использовать try and catch
методы, но он ничего не печатает.
import java.io.FileNotFoundException;
import java.io.PrintWriter;
import java.text.DecimalFormat;
public class RainFallMain {
public static void main(String[] args) throws FileNotFoundException {
// Array representing rainfall figures
// position correlates to the month
double[] thisYear = { 1.6, 2.1, 1.7, 3.5, 2.6, 3.7, 3.9, 2.6, 2.9, 4.3, 2.4, 3.7 };
RainfallClass r = new RainfallClass(thisYear);
PrintWriter outputFile = new PrintWriter("RainFall.txt");
for (int i = 0; i < thisYear.length; i )
{
outputFile.println(thisYear[i]);
outputFile.close();
}
В выходном файле должны быть перечислены все 12 значений.
Комментарии:
1. Проверьте, где вы закрываете файл
2. Чтобы быть точным, переместитесь
outputFile.close()
за пределы цикла for .3. Спасибо! Я этого не заметил. Такое простое решение.
Ответ №1:
Выходной файл должен быть закрыт только после того, как вы закончите всю запись.
public static void main(String[] args) throws FileNotFoundException {
// Some statements
for (int i = 0; i < thisYear.length; i ){
outputFile.println(thisYear[i]);
}
outputFile.close(); // Moved out of the for loop
// Some more statements if there.
}