G
Guest
Gast
lo,
ich hab mir ne Klasse config geschrieben die als Vaterklasse dienen soll. in der Klasse config hab ich zwei ArrayList<String> name und data.
Auf jeden Fall ruft der Konstruktor von config eine Methode auf die processFileIn aufruft. Diese überschreibe ich mit folgendem Code - siehe unten. Wie man erkennen kann habe ich zwei neue zusätzliche ArrayLists geschrieben in die Einstellungen der Datei geschrieben werden sollen. Auf jeden Fall habe ich das Problem wenn ich von header_name oder header_data die add-Methode aufrufe bekomme ich eine NullPointerException. (Zeile 35)
PS:
Meiner Vermutung nach liegt der Fehler darin, daß die beiden ArrayLists in der vererbten Klasse nicht auf Ebene der Methoden der Vaterklasse aufgerufen werden können, die ja die überschriebene processFileIn aufrufen. Leider habe ich keine Ahnung wie man das anders schreiben könnte.
thx im vorraus
timefrenzy
ich hab mir ne Klasse config geschrieben die als Vaterklasse dienen soll. in der Klasse config hab ich zwei ArrayList<String> name und data.
Auf jeden Fall ruft der Konstruktor von config eine Methode auf die processFileIn aufruft. Diese überschreibe ich mit folgendem Code - siehe unten. Wie man erkennen kann habe ich zwei neue zusätzliche ArrayLists geschrieben in die Einstellungen der Datei geschrieben werden sollen. Auf jeden Fall habe ich das Problem wenn ich von header_name oder header_data die add-Methode aufrufe bekomme ich eine NullPointerException. (Zeile 35)
PS:
Meiner Vermutung nach liegt der Fehler darin, daß die beiden ArrayLists in der vererbten Klasse nicht auf Ebene der Methoden der Vaterklasse aufgerufen werden können, die ja die überschriebene processFileIn aufrufen. Leider habe ich keine Ahnung wie man das anders schreiben könnte.
thx im vorraus
timefrenzy
Code:
public class dictionary_io extends config
{
/**
*
*/
protected ArrayList<String> header_name = new ArrayList<String>();
protected ArrayList<String> header_data = new ArrayList<String>();
public dictionary_io(String filename)
{
super(filename);
}
public dictionary_io(File file)
{
super(file);
}
protected void processFileIn(RandomAccessFile in)
{
try
{
ArrayList<String> z = new ArrayList<String>();
int i=0;
while(in.getFilePointer()<in.length())
{
z.add(in.readLine());
int tmp=z.get(i).indexOf(getSeparator());
if(z.get(i).contains(getSeparator()) && z.get(i).substring(0,tmp).length()>0)
{
//if(z.get(i).substring(0,1).equals("#"))
if(z.get(i).charAt(0) == '#')
{
System.out.println("a"+z.get(i) + tmp);
header_name.add(z.get(i).substring(0,tmp));
header_data.add(z.get(i).substring(tmp+getSeparator().length()));
}
else
{
System.out.println("b"+z.get(i) + tmp);
name.add(z.get(i).substring(0,tmp));
data.add(z.get(i).substring(tmp+getSeparator().length()));
}
}
i++;
}
}
catch(IOException x){}
}
}