Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android文件I/O openFileInput()未定义_Android_File Io - Fatal编程技术网

Android文件I/O openFileInput()未定义

Android文件I/O openFileInput()未定义,android,file-io,Android,File Io,我正在看一个Android文件I/O的例子。我想知道为什么openFileInput会出现一个错误,因为它是一个未定义的函数。我在想也许我错过了一个重要环节?如果没有,那么肯定还有其他问题 如果错误是: 类型的openFileInput(字符串)方法未定义 您必须在中使用openFileInput。例如,活动是一个上下文。因此,如果您将类设置为该类,则必须解决以下错误: package com.example.tictactoeshowgrid;

我正在看一个Android文件I/O的例子。我想知道为什么openFileInput会出现一个错误,因为它是一个未定义的函数。我在想也许我错过了一个重要环节?如果没有,那么肯定还有其他问题

如果错误是:

类型的openFileInput(字符串)方法未定义

您必须在中使用
openFileInput
。例如,
活动
是一个
上下文
。因此,如果您将类设置为该类,则必须解决以下错误:

            package com.example.tictactoeshowgrid;

            import android.os.Bundle;
            import java.io.*;
            import android.widget.Toast;
            import android.content.*;

            import java.io.FileInputStream;
            import java.io.FileNotFoundException;
            import java.io.FileOutputStream;
            import java.io.IOException;
            import java.util.Date;

            import android.content.Context;

                public class ImportOBJ {

                protected void onCreate(String filename) {
                    try
                    {
                        FileInputStream fis = openFileInput(filename);
                        BufferedReader reader = new BufferedReader(new InputStreamReader(fis));
                        String line = null, input="";
                        while ((line = reader.readLine()) != null)
                            input += line;
                        reader.close();
                        fis.close();
                        //toast("File successfully loaded.");
                        //return input;
                    }
                    catch (Exception ex)
                    {
                        //toast("Error loading file: " + ex.getLocalizedMessage());
                        //return "";
                    }
                }
            }

有关上下文的更多详细信息,请参见。

要访问非活动类中的
openFileInput
方法,您需要通过使用参数化方法发送上下文或使用
ImportOBJ
类构造函数将活动上下文传递给它,如下所示:

public class ImportOBJ extends Activity{
.
.
.

}
从您的活动传递上下文中,如下所示:

protected void onCreate(String filename,Context context) {
   try
     {
         FileInputStream fis = context.openFileInput(filename);  
         //...your code here...      
     }
   catch (Exception ex)
     {

     }
}
ImportOBJ_import=new ImportOBJ();
obj_import.onCreate(,您的当前活动名称,this);

你是否得到了有效的文件?意思是“xyz.txt”你写onCreate()…我确信这是用户定义的方法。你在上下文中使用它是什么意思。我还不明白答案。@user2209542请再次查看我的答案。我添加了一些细节。现在我更清楚了。我不确定我是否想要一个完整的活动,但我明白你的意思了?我的目标是在一个活动中实例化ImportOBJ,并传递一个文件名和一个数组作为结果。您可以将一个上下文实例传递给您的方法。@ρ∑ρK man请帮助!!
ImportOBJ obj_import=new ImportOBJ();
obj_import.onCreate(<File_Name_Here>,Your_Current_Activity_Name.this);