-1

在过去的几个小时里,我一直在尝试自己做这件事,但有点失去了它。

我要做的就是打开一个文件,读取它并将其显示到控制台;而已。

我正在使用 eclipse 为 android 2.3.3 开发。

我已经尝试使用一堆不同的方式来处理我在这里和其他网站上找到的代码。这是我现在拥有的以及它的全部名称:

在 OnCreate 函数中:

setContentView(new TestMap(this));

测试地图类:

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 类有关吗?我不想将此代码与我的活动放在同一类中。有办法解决这个问题吗?

如果您需要我提供更多信息,请告诉我。

4

1 回答 1

1

打开的文件是在手机的文件系统上寻找文件,而不是在电脑的文件系统上。它会告诉你它希望在哪里找到它 - 在 /data/data/com.name.somethingirmoved/files/worldonelayout.txt 下的手机上

于 2012-04-05T18:49:31.077 回答