У меня есть программа, которая позволяет добавлять курсы в однонедельный календарь, который является JTable, я хочу, чтобы он работал таким образом, чтобы при нажатии на кнопку сохранения календарь сохранялся в текстовом файле, а затем при запуске приложение снова загрузит сохраненные курсы в JTable. Проблема, с которой я столкнулся, заключается в том, что при сохранении таблицы пустые ячейки сохраняются как нулевые, а при загрузке их пустые ячейки отображаются как нулевые, и я хочу, чтобы они загружались пустыми.
Я попытался использовать вложенный цикл for, чтобы установить все нулевые значения в "", но он просто показывает полную таблицу JTable как пустую.
"Below is code to save full table into .txt file"
public void actionPerformed(ActionEvent e)
{
try {
PrintWriter outputFile = new PrintWriter("C:\\Users\\Shervin\\eclipse-workspace\\GUIDemo2\\CourseSchedule.txt");
for(int i = 0;i<table.getRowCount();i++)
{
for (int j= 0;j<table.getColumnCount();j++)
{
outputFile.print(table.getValueAt(i, j));
outputFile.print(",");
}
outputFile.println();
}
JOptionPane.showMessageDialog(null, "Schedule has been saved...");
outputFile.close();
}
catch (FileNotFoundException e2) {
e2.printStackTrace();
}
}
});
"Below is the code to load table from txt.file back into JTable"
private void loadInto()
{
try {
Scanner scanner = new Scanner(new BufferedReader(new FileReader("C:\\Users\\Shervin\\eclipse-workspace\\GUIDemo2\\CourseSchedule.txt")));
while(scanner.hasNextLine())
{
for(int i = 0;i<table.getRowCount();i++) {
String[] line = scanner.nextLine().trim().split(",");
for (int j = 0;j<table.getColumnCount();j++)
{
table.setValueAt(line[j], i, j);
}
}
}
scanner.close();
}catch (IOException ioexception) {}
}