B
Brillow
Neues Mitglied
- 2
Hi,
ich schreibe gerade eine kleine App, um mich wieder in Java reinzufinden und stoße dabei im Moment auf 2 Probleme, die ich einfach nicht verstehe.
1.
Würde ich gerne einen String (eine Datei) lokal speichern. Dazu habe ich folgende Methoden geschrieben (einmal zum speichern, einmal zum laden).
filename ist ein array, wo meine Dateinamen drinstehen, im data Array steht jeweils der String der gespeichert werden soll.
Zum Laden:
Das Problem ist nun: es funktioniert nicht. Es wird keine Datei erstellt, egal wie ichs auch drehe und wende. Meiner Meinung nach liegt der Fehler entweder in dem save/load kram oder in der Umrechnung der verschiedenen Datumsangaben oben in der load().
Ich hoffe ihr könnt mir da irgendwie helfen und bitte schlagt mich nicht, wenns irgendein dummer, ersichtlicher Fehler ist
MfG
Brillow
ich schreibe gerade eine kleine App, um mich wieder in Java reinzufinden und stoße dabei im Moment auf 2 Probleme, die ich einfach nicht verstehe.
1.
Würde ich gerne einen String (eine Datei) lokal speichern. Dazu habe ich folgende Methoden geschrieben (einmal zum speichern, einmal zum laden).
Code:
try {
FileOutputStream fos = openFileOutput(filename[s-2], Context.MODE_WORLD_READABLE);
OutputStreamWriter osw = new OutputStreamWriter(fos);
osw.write(data[s-2]);
osw.flush();
osw.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
clear();
title4.setText("Konnte Daten nicht speichern!");
title4.setTextColor(Color.RED);
}
filename ist ein array, wo meine Dateinamen drinstehen, im data Array steht jeweils der String der gespeichert werden soll.
Zum Laden:
Code:
private void load(int m) {
File datei = new File(filename[m-2]);
GregorianCalendar lastmod = new GregorianCalendar();
lastmod.setTimeInMillis(datei.lastModified());
this.setTitle("" + lastmod.get(Calendar.WEEK_OF_YEAR) + " - " + date.get(Calendar.WEEK_OF_YEAR));
if(lastmod.get(Calendar.WEEK_OF_YEAR) == date.get(Calendar.WEEK_OF_YEAR)){
//Wird die App genau ein Jahr lang nicht geoeffnet, so bildet sich hier ein Fehler
try {
FileInputStream fis = openFileInput(filename[m-2]);
InputStreamReader isr = new InputStreamReader(fis);
char buffer[] = null;
isr.read(buffer);
data[m-2] = new String(buffer);
fis.close();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
fetchData(m);
} catch (IOException e){
e.printStackTrace();
fetchData(m);
}
}else{
fetchData(m);
}
}
Das Problem ist nun: es funktioniert nicht. Es wird keine Datei erstellt, egal wie ichs auch drehe und wende. Meiner Meinung nach liegt der Fehler entweder in dem save/load kram oder in der Umrechnung der verschiedenen Datumsangaben oben in der load().
Ich hoffe ihr könnt mir da irgendwie helfen und bitte schlagt mich nicht, wenns irgendein dummer, ersichtlicher Fehler ist
MfG
Brillow