[Решено] 1. Реализовать сохранение данных в csv файл;

2. Реализовать загрузку данных из csv файла. Файл...

1. Реализовать сохранение данных в csv файл;

2. Реализовать загрузку данных из csv файла. Файл читается целиком.

Структура csv файла:

– строка заголовок с набором столбцов

– набор строк с целочисленными значениями

– разделитель между столбцами – символ точка с запятой (;)

Пример:

Value 1;Value 2;Value 3

100;200;123

300;400;500

Для хранения данных использовать класс вида:

Java

public class AppData {

private String[] header;

private int[][] data;

}

Если выполняется save(AppData data), то старые данные в файле полностью перезаписываются.

(1) Смотреть ответ
Данный ответ сгенерирован автоматически нейросетью, если Вы не нашли ответ на свой вопрос, попробуйте спросить нейросеть самостоятельно, для получения необходимого результата.
Это бесплатно.
Спросить нейросеть бесплатно

Ответ нейросети NoxAI

Привет!​ Сегодня я хочу поделиться с тобой своим опытом реализации сохранения и загрузки данных в csv файл в Java.​Для начала, нам понадобится класс, который будет представлять наши данные ⎻ класс AppData.​ В этом классе у нас будут два поля⁚ строковый массив header, который будет содержать заголовки столбцов, и двумерный массив data, в котором будут храниться значения данных.java
public class AppData {
private String[] header;
private int[][] data;
}

Теперь давай реализуем метод сохранения данных в csv файл.​ Для этого нам понадобится использовать класс FileWriter из пакета java.​io.​java
public void save(AppData data) {
try {
FileWriter writer new FileWriter(″data.​csv″);

// Записываем заголовки столбцов
for (int i 0; i < data.header.length; i ) { writer.write(data.​header[i]); if (i !​ data.​header.​length ⎻ 1) { writer.​write(″;″); } } writer.write(″\n″); // Записываем значения данных for (int[] row ⁚ data.​data) { for (int i 0; i < row.​length; i ) { writer.​write(String.valueOf(row[i])); if (i ! row.​length ⎻ 1) { writer.​write(″;″); } } writer.​write(″\n″); } writer.close; System.​out.​println(″Данные успешно сохранены в csv файл.″); } catch (IOException e) { System.​out.println(″Возникла ошибка при сохранении данных в csv файл.​″); e.​printStackTrace; } } В этом коде мы сначала открываем поток для записи в файл ″data.​csv″ с помощью FileWriter.​ Затем мы построчно записываем заголовки столбцов и значения данных, разделяя их символом точка с запятой (;).​ После того, как запись данных завершена, мы закрываем поток и выводим сообщение об успешном сохранении данных. В случае ошибки, мы выводим сообщение об ошибке и печатаем трассу стека.​Теперь давай реализуем метод загрузки данных из csv файла.​ Для этого нам понадобится использовать класс CSVReader из пакета opencsv.java public void load(AppData data) { try { CSVReader reader new CSVReader(new FileReader(″data.csv″)); List lines reader.​readAll;

// Загружаем заголовки столбцов
data.​header lines.get(0);
// Загружаем значения данных
data.data new int[lines.​size ⎻ 1][data.​header.length];
for (int i 1; i < lines.​size; i ) { String[] line lines.​get(i); for (int j 0; j < line.​length; j ) { data.​data[i ⎻ 1][j] Integer.​parseInt(line[j]); } } reader.​close; System.​out.println(″Данные успешно загружены из csv файла.″); } catch (IOException e) { System.out.println(″Возникла ошибка при загрузке данных из csv файла.​″); e.​printStackTrace; } }

Читайте также  На острове, где живут и рыцари, и лжецы, Раймонд Смаллиан встретил человека, который произнес высказывание:

«Я рыцарь тогда и только тогда, когда на острове есть рыцари»

Кто этот человек?

Лжец.

Рыцарь.

Он не может быть ни рыцарем, ни лжецом.

Он или рыцарь, или лжец. Точно сказать нельзя.

В этом коде мы сначала открываем поток для чтения файла ″data.​csv″ с помощью FileReader, затем считываем все строки файла с помощью метода readAll класса CSVReader.​ Заголовки столбцов записываем в поле header, а значения данных записываем в поле data, преобразуя их из строкового формата в целочисленное.​ После завершения чтения файла, мы закрываем поток и выводим сообщение об успешной загрузке данных.​ В случае ошибки, мы выводим сообщение об ошибке и печатаем трассу стека.​ Ну вот, теперь у нас есть полностью реализованные методы сохранения и загрузки данных в csv файл; Теперь ты можешь использовать их в своей программе для удобного сохранения и загрузки данных.​ Удачи!​

Оцените статью
Nox AI