Java 在ANDROID中将内部文件内容写入LISTVIEW

Java 在ANDROID中将内部文件内容写入LISTVIEW,java,android,file-io,Java,Android,File Io,我需要从存储在内存中的文件中读取内容,然后将这些内容写入ListView。我的代码如下: StringBuilder sb = new StringBuilder(); FileInputStream fis = null; try{ BufferedReader reader = new BufferedReader(new InputStreamReader(fis, "UTF-8")); String line = null; whi

我需要从存储在内存中的文件中读取内容,然后将这些内容写入ListView。我的代码如下:

StringBuilder sb = new StringBuilder();
FileInputStream fis = null;
    try{
        BufferedReader reader = new BufferedReader(new InputStreamReader(fis, "UTF-8"));
        String line = null;
        while ((line = reader.readLine()) != null) {
            sb.append(line).append("\n");
        }
        fis.close();
    } catch(OutOfMemoryError om){
        om.printStackTrace();
    } catch(Exception ex){
        ex.printStackTrace();
    }
    @SuppressWarnings("unused")
    String result = sb.toString();
    ListView myListView = (ListView) findViewById(R.id.scores_display);
    String[] strings = new String[]{"Test1","Test2"};
    ArrayAdapter<String> myArrayAdapter= new ArrayAdapter<String>(this, R.id.scores_display,strings);
    myListView.setAdapter(myArrayAdapter);

我无法理解logcat的报告。请帮我解释一下错误。

我在代码中看到的唯一明显错误是,您将FileInputStream指定为null,然后引用它,而无需进一步初始化

以下是您的问题行:

FileInputStream fis = null; // initialized as null
// ... and then, in your try statement ...
BufferedReader reader = new BufferedReader(new InputStreamReader(fis, "UTF-8")); // "fis" referenced but still null
必须使用文件对象、FileDescriptor对象或表示文件名的字符串初始化

例如:

FileInputStream fis = new FileInputStream(new File("myFile.txt"));
您可能还想了解一下在Android中访问文件的方式

FileInputStream fis = new FileInputStream(new File("myFile.txt"));