Ich habe versucht, dies in den letzten paar Stunden selbst zu machen und verliere es irgendwie ein wenig.Neu in Java. Probleme beim Lesen von Dateien mit Context und openFileInput
Alles, was ich tun möchte, ist offen eine Datei es, lesen und es auf der Konsole angezeigt werden; das ist es.
Ich bin mit Eclipse für Android 2.3.3 zu entwickeln.
Ich habe versucht, eine Reihe von verschiedenen Möglichkeiten, mit Code, die ich hier gefunden habe, und auf anderen Websites. Hier ist was ich jetzt habe und wie es ist alles genannt:
In der OnCreate-Funktion:
setContentView(new TestMap(this));
Die testmap Klasse:
TestMap(Context context){
super(context);
// might need to be on the panel class
loadTileFile("worldonelayout.txt", context);
in der gleichen Klasse:
private void loadTileFile (String filename, Context context){
FileInputStream input = null;
InputStreamReader reader = null;
char[] inputBuffer = new char[256];
String data = null;
try {
input = context.openFileInput("worldonelayout.txt");
reader = new InputStreamReader(input);
reader.read(inputBuffer);
data = new String(inputBuffer);
System.out.println(data);
Toast.makeText(context, "Text read", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
Toast.makeText(context, "Text not read", Toast.LENGTH_SHORT).show();
} finally {
try {
input.close();
reader.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
Dieser Code funktioniert nicht. Es trifft immer die Ausnahme.
"/data/data/com.name.somethingiremoved/files/worldonelayout.txt (Keine solche Datei oder das Verzeichnis)".
Dies geschieht beim ersten CATCH. BTW meine Datei befindet sich im Stammverzeichnis: Documents\Eclipse\workspace\project\worldonelayout.txt
. Ich kann auch die Datei im Browser auf der linken Seite sehen
Von was ich hier und auf anderen Seiten gesehen habe, ist es etwas mit der Context-Klasse zu tun, die von der Aktivität abgeleitet ist? Ich möchte diesen Code nicht in derselben Klasse wie meine Aktivität haben. Gibt es einen Weg dahin?
Wenn Sie etwas mehr von mir brauchen, lassen Sie es mich wissen.
Welche Ausnahme wird geworfen? –
@OllieC /data/data/com.name.somethingiremoved/files/worldonelayout.txt (Keine solche Datei oder Verzeichnis). Der erste CATCH. Übrigens befindet sich meine Datei im Stammverzeichnis: Documents \ Eclipse \ workspace \ project \ worldonelayout.txt. Ich kann auch die Datei im Browser auf der linken Seite sehen – maffo
Können Sie system.out.println in Android verwenden? Es ist auch eine gute Idee, Ihre Logcat-Fehler anzuzeigen – Stagleton