Popracuj na navykoch pri pisani v jave. Takze predpokladam ze chces urobit nieco taketo: Mas subor v ktorom mas meno stlpca a potom celu tabulku a potrebujes to sparsovat. No tak to skusme takto:
class Something{
ArrayList<ArayList<String>> table = new ArrayList<>();
public void loadFromFile(File f){
// mozes overit ci file existuje a je mozne z neho citat
BufferedReader br = null;
try{
br = new BufferedReader(new FileReader(f));
String line = null;
// ciklus v ktorom citas file riadok po riadku
while((line = br.readLine())!=null){
// rozdelis podla regexu |
String[] params = line.split("|");
// tu som to cele capol do noveho arraylistu a ten pridal do tabulky
table.add(new ArrayList<String>(Arrays.asList(params)));
// ale ak su tam take veci ze ti to zacina | a konci | tak tam budes mat
// prvy a posledby string prazdny
// bude ich treba orezat
}
}
catch(IOException ioe){
ioe.printStackTrace(); // V buducnosti to budes
//musiet minimalne zalogovat
}
finally{
try {
if (br != null)
br.close();
} catch (IOException ex) {
ex.printStackTrace();
}
}
}
}
Avsak podla mna pre neskorsiu pracu je omnoho elegantnejsie celu tabulku ukladat do pola map, alebo mapy poli, neviem ktore z tych dvoch je menej pamatovo narocne. Pritom jednom by si si musel davat pozor aby si zbytocne negeneroval nove stringy. Ale pre male aplikacie je to uplne jedno. Inak ako tak pozeram ak sa snazis ten riadok spojit, resp nahradit "|" za "" a vlozit do listu, tak na to je prikaz replaceAll(Stirng regex, String replacement): table.add(line.replaceAll("|", " "); a table je typu ArrayList<String> potom.