在src文件夹中获取txt文件的路径,以便我可以将其读入数组

时间:2015-09-18 15:40:20

标签: java android

我有一个文本文件,我试图转换为String数组(其中每一行是数组的一个元素)。 我在这里找到了一个似乎完美的代码,唯一的问题是,即使我使用文件的相对路径,我得到一个FileNotFoundException。 相对文件路径:

String path = "android.resource://"+getPackageName()+"/app/src/main/res/raw/" 
+ getResources().getResourceEntryName(R.raw.txtAnswers);

当我尝试在阅读器中使用此路径时

BufferedReader reader = null;
try{
    reader = new BufferedReader(new FileReader(path));
......

路径以红色下划线并表示FileNotFoundException。 也许它期待另一种类型的路径(不是相对的?)或者我是否错路径?

2 个答案:

答案 0 :(得分:0)

  

相对文件路径

这不是文件路径。

  

也许它期待另一种路径

res/raw/...是您硬盘上的文件。 设备上的文件。

要访问原始资源,请使用getResources()(在任何Context上调用,如ActivityService)来获取Resources对象。然后,call openRawResource()传入您的资源ID,以获取该资源内容的InputStream

答案 1 :(得分:0)

据我所知,最好的方法是通过源代码的txt文件夹中的assets文件。 要使用File,只需使用以下代码段:

InputStream inputStream = getAssets().open("YOUR_TEXT_FILE");

它返回InputStream,可进一步用于阅读File&将数据转换为Array