私は過去数時間、自分でこれをやろうとしてきましたが、少し失っています.
私がやりたいことは、ファイルを開いて読み取り、コンソールに表示することだけです。それでおしまい。
Android 2.3.3の開発にEclipseを使用しています。
ここや他のサイトで見つけたコードで、さまざまな方法を試してみました。ここに私が今持っているものと、そのすべてがどのように呼ばれているかがあります:
OnCreate 関数では:
setContentView(new TestMap(this));
testMap クラス:
TestMap(Context context){
super(context);
// might need to be on the panel class
loadTileFile("worldonelayout.txt", context);
同じクラスの中で:
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();
}
}
}
このコードは機能しません。常に例外にヒットします。
"/data/data/com.name.somethingiremoved/files/worldonelayout.txt (そのようなファイルまたはディレクトリはありません)".
これは、最初の CATCH で発生します。ところで、私のファイルはルート ディレクトリにあります: Documents\Eclipse\workspace\project\worldonelayout.txt
. 左側のブラウザにもファイルが表示されます
私がここや他のサイトで見たものから、Activity から派生した Context クラスと関係がありますか? このコードをアクティビティと同じクラスに入れたくありません。これを回避する方法はありますか?
他に何か必要なことがありましたら、お知らせください。