Здравствуйте! Пытаюсь записать данные из таблицы (фото 1) в приложении в файл формата csv. Вроде в txt всё записывается хорошо, однако в csv получается бред (фото 2). Как можно изменить код, чтобы записывалась всё без сдвигов? Есть ли возможность в файле csv дать имя столбцам? Прикрепляю свой кусок кода:
@Override
public void actionPerformed(ActionEvent event) {
//JOptionPane.showMessageDialog(save, "Check Save");
FileDialog save = new FileDialog(bookList, "Сохранение данных", FileDialog.SAVE);
save.setFile("*.csv");
save.setVisible(true); // Отобразить запрос пользователю
// Определить имя выбранного каталога и файла
String fileName = save.getDirectory() + save.getFile();
try {
BufferedWriter writer = new BufferedWriter(new FileWriter(fileName));
for (int i = 0; i < model.getRowCount(); i++) { // Для всех строк
for (int j = 0; j < 4; j++) // Для всех столбцов
{
System.out.println((String) model.getValueAt(i, j) + "; ");
writer.write((String) model.getValueAt(i, j) + "; "); // Записать значение из ячейки
//writer.write(" "); // Записать символ перевода каретки
writer.write("\n"); // Записать символ перевода каретки
}
writer.write("\n"); // Записать символ перевода каретки
}
writer.close();
} catch (IOException e) // Ошибка записи в файл
{
e.printStackTrace();
}