如何扫描原始文本文件?

时间:2013-06-20 17:19:12

标签: android android-listview java.util.scanner android-file

我希望在我的应用中使用原始文件夹中的文本文件。我正在使用ListFragments,根据选择的项目,我想在新的布局中加载文件文本。

我可以正确加载文本,但我希望能够先扫描文件,以便我可以让文件的第一行是ListView中显示的标题。我有一个方法确定原始文件夹中的文件数,并将名称添加到ArrayList。

这是我的方法:

    private void listRaw() {
    Field[] fields = R.raw.class.getFields();

    for (int count = 0; count < fields.length; count++) {

            myArrayList.add(fields[count].getName());
    }
}

我遇到的问题是设置扫描仪。我不知道如何告诉扫描仪扫描这个特定的文件。我尝试制作一个新的File对象并使用了Scanner(文件),但我认为我没有正确地声明文件名,也不知道这是否是完成此操作的最佳方法。通常,如果你知道文件名,你可以简单地做:

扫描仪fileReader =新扫描仪(“文件名”);

但是在这个循环中,我实际上从未设置过文件名。

1 个答案:

答案 0 :(得分:0)

  

我希望在我的应用中使用原始文件夹中的文本文件

我假设“原始文件夹”表示项目中的res/raw/资源目录。

  

我不知道如何告诉扫描仪扫描此特定文件

那是因为没有档案。该文件存在于您的开发计算机上。 运行时中原始资源的表示就是:原始资源。在封面下,它实际上是ZIP文件中的条目。

您需要获取原始资源的R.raw值,然后使用getResources().openRawResource()获取可以传递给InputStream的{​​{1}}。

除非您针对不同的配置(例如,语言)使用这些原始资源的不同版本,否则您可能会发现使用Scanner目录和assets/更轻松地使用您的应用打包文本文件。