Witam.
Stworzyłem metodę, która ma za zadanie tworzenie tablicy dwuwymiarowej. Tablica ma być wypełniana danymi pobieranymi z pliku CSV dodatkowo gdy pliku nie będzie tablica ma być wypełniana domyślnymi wartościami. Stworzyłem działający kod i chciałbym prosić o oponie i rady jak go uprościć bo jakoś mi się do końca on nie podoba. Dodam tylko że javą zajmuje się tylko hobbistycznie.
Pozdrawiam TJ
/**
* Metoda wczytuje dane z pliku do tablicy, jeśli nie ma pliku tworzona jest domyślna
* zawarość tablicy
*
* @param nowaTablica domyślna tablicaa
*/
public void odczytDane(Object[][] nowaTablica) {
if (NazwaPliku.equals("")) {
JOptionPane.showMessageDialog(null, "Brak dostępu do danych!\nProgram nie zna nazwy pliku z danymi.",
"Brak dostępu do danych!", 1);
} else {
String liniaDanych;
File testPliku = new File(NazwaPliku);
if (testPliku.isFile()) {//sprawdzenie czy plik istnieje
try {
BufferedReader odczytDane = new BufferedReader(new FileReader(NazwaPliku));
int nrWiersza = 0;
try {
while ((liniaDanych = odczytDane.readLine()) != null) {
Object[] wierszDanych = liniaDanych.split(";");
Object[][] nowyWierszDanych = new Object[][]{wierszDanych};
if (nrWiersza == 0) {
nowaTablica = Arrays.copyOf(nowyWierszDanych, nowyWierszDanych.length);
} else {
nowaTablica = Arrays.copyOf(nowaTablica, nowaTablica.length + 1);//powiększenie tablicy o 1
}
System.arraycopy(nowyWierszDanych, 0, nowaTablica, nowaTablica.length - 1, 1);//kopiowanie tablicy do ostatniego wiersza
nrWiersza++;
}
} catch (IOException ex1) {
JOptionPane.showMessageDialog(null, "Coś poszło nie tak, błąd ex1:\n" + ex1, "Uwaga", 1);
}
} catch (FileNotFoundException ex) {
JOptionPane.showMessageDialog(null, "Coś poszło nie tak, błąd ex:\n" + ex, "Uwaga", 1);
}
}
TablicaDanych = Arrays.copyOf(nowaTablica, nowaTablica.length);
}
}