Hoi
Ik heb dus zojuist een ini bestand aan gemaakt met de volgende layout:
Zoals te zien is heb ik diverse figuren waar ik waarden aan wil geven. Ik wil deze file dus met behulp van een functie uitlezen, maar wel zo, dat ik per "figuur" deze waarden kan onthouden. Dit leek mij het handigste in een Array te doen, omdat ik dit geheel dynamisch wil laten doen. Iemand moet dus bijvoorbeeld ook een figuur toe kunnen voegen.
Ik heb nu de volgende code voor het inlezen van de file:
Dit werkt naar behoren. De tekst in het bestand wordt netjes in de arraylist gezet. Nu alleen het uitlezen nog en het mag duidelijk zijn dat dit mijn probleem is. De attributen moeten per figuur zijn, ze moeten dus bijelkaar blijven. Ik heb tot nu toe de volgende code hiervoor:
Ik zit dus al met het feit dat ik niet dynamisch vectoren aan kan maken, dynamisch een naam aan de vector geven dus. Ik heb dus een array voorgedefinieerd. De variabele numObjects telt hoeveel figuren er zijn aan de hand van de [] om de figuren. Maar wat is nu de beste manier om de waarden van de atrributen van de figuren bij elkaar te houden, zodat ik met het tekenen van cirkels en/of andere figuren snel de waarden van de hoogte en breedte etc op kan halen?
Of heeft iemand een beter idee? Misschien dat iemand al eens met dit bijltje gehakt heeft? (ik wil dus de breedte en hoogte van figuren van buitenaf op kunnen geven)
Iemand?
Ik heb dus zojuist een ini bestand aan gemaakt met de volgende layout:
code:
1
2
3
4
5
6
7
8
9
10
| ## - Please do not change the order ## ## - distances given in metres ## [Circle] Width : 8 Height : 8 [Ellipse] Width : 4 Height : 8 |
Zoals te zien is heb ik diverse figuren waar ik waarden aan wil geven. Ik wil deze file dus met behulp van een functie uitlezen, maar wel zo, dat ik per "figuur" deze waarden kan onthouden. Dit leek mij het handigste in een Array te doen, omdat ik dit geheel dynamisch wil laten doen. Iemand moet dus bijvoorbeeld ook een figuur toe kunnen voegen.
Ik heb nu de volgende code voor het inlezen van de file:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| private void getFigureSettings() throws IOException, FileNotFoundException { int c = 0; ArrayList settings = new ArrayList(); String regel; FileInputStream fileInput; BufferedReader data; try { fileInput = new FileInputStream("settings.ini"); data = new BufferedReader(new InputStreamReader(fileInput)); } catch (FileNotFoundException fnfe) { throw fnfe; } try { while ((regel = data.readLine()) != null) { settings.add(regel); System.out.println(regel); } } catch (IOException ioex) { throw ioex; } fileInput.close(); } |
Dit werkt naar behoren. De tekst in het bestand wordt netjes in de arraylist gezet. Nu alleen het uitlezen nog en het mag duidelijk zijn dat dit mijn probleem is. De attributen moeten per figuur zijn, ze moeten dus bijelkaar blijven. Ik heb tot nu toe de volgende code hiervoor:
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| private void setFigureSettings() { try { int numObjects = countObjects(); int i = 0; String figure; String attribute; figureSettings = new String[numObjects][2][1]; Iterator iter = settings.iterator(); while(iter.hasNext()) { String line = (String)iter.next(); if (line.startsWith("[")) { int length = line.length(); figure = line.substring(length-(length-1), length-1); System.out.println(figure); } } catch (Exception exc) {} } |
Ik zit dus al met het feit dat ik niet dynamisch vectoren aan kan maken, dynamisch een naam aan de vector geven dus. Ik heb dus een array voorgedefinieerd. De variabele numObjects telt hoeveel figuren er zijn aan de hand van de [] om de figuren. Maar wat is nu de beste manier om de waarden van de atrributen van de figuren bij elkaar te houden, zodat ik met het tekenen van cirkels en/of andere figuren snel de waarden van de hoogte en breedte etc op kan halen?
Of heeft iemand een beter idee? Misschien dat iemand al eens met dit bijltje gehakt heeft? (ik wil dus de breedte en hoogte van figuren van buitenaf op kunnen geven)
Iemand?