K
klettertiger
Neues Mitglied
- 0
Hallo zusammen!
Ich würde mich freuen, wenn ihr mir einen Tipp geben könnt.
Ich möchte eine Hilfsklasse mit Speichern/Laden Funktion ins Programm einbinden.
Leider taucht beim Ausführen der Funktionen dieser Klasse immer eine NPE auf.
Die Testfunktion "test" derselben Klasse läuft ohne Probleme.
Aber z.B. bei der Funktion save wird das Programm abgebrochen.
Dies ist die Fehlermeldung dazu:
Und das der komplette Code der Klasse.
Er compiliert einwandfrei.
Ich hoffe, ich kann euch - sobald ich selbst mehr Ahnung habe - bei Problemen selbst ein wenig behilflich sein.
Vielen Dank an alle, die sich die Mühe machen, den Code zu lesen!
Gruß
Stefan
Ich würde mich freuen, wenn ihr mir einen Tipp geben könnt.

Ich möchte eine Hilfsklasse mit Speichern/Laden Funktion ins Programm einbinden.
Leider taucht beim Ausführen der Funktionen dieser Klasse immer eine NPE auf.
Die Testfunktion "test" derselben Klasse läuft ohne Probleme.
Aber z.B. bei der Funktion save wird das Programm abgebrochen.
Code:
public void save (String data, String file) {
try {
FileOutputStream os = openFileOutput(file, MODE_PRIVATE);
OutputStreamWriter out = new OutputStreamWriter(os);
BufferedWriter buffi = new BufferedWriter(out);
buffi.write(data);
buffi.close();
out.close();
os.close();
} catch (IOException ex) { Log.e("Save", ex.getMessage());
} }
}
Dies ist die Fehlermeldung dazu:
Code:
02-04 04:32:14.644: E/AndroidRuntime(5326): FATAL EXCEPTION: main
02-04 04:32:14.644: E/AndroidRuntime(5326): java.lang.NullPointerException
02-04 04:32:14.644: E/AndroidRuntime(5326): at android.content.ContextWrapper.openFileOutput(ContextWrapper.java:165)
02-04 04:32:14.644: E/AndroidRuntime(5326): at com.example.my_cat.SaveLoad.save(SaveLoad.java:48)
02-04 04:32:14.644: E/AndroidRuntime(5326): at com.example.my_cat.Hauptmenue$1.onClick(Hauptmenue.java:96)
02-04 04:32:14.644: E/AndroidRuntime(5326): at android.view.View.performClick(View.java:3511)
02-04 04:32:14.644: E/AndroidRuntime(5326): at android.view.View$PerformClick.run(View.java:14105)
02-04 04:32:14.644: E/AndroidRuntime(5326): at android.os.Handler.handleCallback(Handler.java:605)
02-04 04:32:14.644: E/AndroidRuntime(5326): at android.os.Handler.dispatchMessage(Handler.java:92)
02-04 04:32:14.644: E/AndroidRuntime(5326): at android.os.Looper.loop(Looper.java:137)
02-04 04:32:14.644: E/AndroidRuntime(5326): at android.app.ActivityThread.main(ActivityThread.java:4424)
02-04 04:32:14.644: E/AndroidRuntime(5326): at java.lang.reflect.Method.invokeNative(Native Method)
02-04 04:32:14.644: E/AndroidRuntime(5326): at java.lang.reflect.Method.invoke(Method.java:511)
02-04 04:32:14.644: E/AndroidRuntime(5326): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
02-04 04:32:14.644: E/AndroidRuntime(5326): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
02-04 04:32:14.644: E/AndroidRuntime(5326): at dalvik.system.NativeStart.main(Native Method)
Und das der komplette Code der Klasse.
Er compiliert einwandfrei.
Code:
package com.example.my_cat;
import java.io.*;
import android.*;
public class SaveLoad extends Activity{
SaveLoad(){
}
public String test(){
return "Hallo";
}
public String load (String file){
try {
String result;
FileInputStream is = openFileInput(file);
InputStreamReader in = new InputStreamReader(is);
BufferedReader buffi = new BufferedReader(in);
result= buffi.readLine();
buffi.close(); in.close(); is.close();
return result;
} catch (IOException ex) {
return null;
}}
public void save (String data, String file) {
try {
FileOutputStream os = openFileOutput(file, MODE_PRIVATE);
OutputStreamWriter out = new OutputStreamWriter(os);
BufferedWriter buffi = new BufferedWriter(out);
buffi.write(data);
buffi.close();
out.close();
os.close();
} catch (IOException ex) { Log.e("Save", ex.getMessage());
} }
}
Ich hoffe, ich kann euch - sobald ich selbst mehr Ahnung habe - bei Problemen selbst ein wenig behilflich sein.
Vielen Dank an alle, die sich die Mühe machen, den Code zu lesen!
Gruß
Stefan