Android读取与app打包在一起的.txt文件

时间:2012-08-06 06:32:59

标签: java android file embedded-resource

我希望能够在我的应用程序附带的文件 myFile.txt 中读取资源文件夹,res / raw文件夹,无论何时,它都没有物。

BUT!我不想要该文件的InputStream ......我希望能够做到这样的事情:

while ((reader = is.readLine()) != null) { ... }

我一直在四处搜寻,发现了一些非常接近但不是我正在寻找的东西..

感谢您的帮助。

编辑 - 我正在尝试的一些代码:

InputStream in = this.mCtx.getResources().openRawResource(R.raw.myFile);
Reader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

(现在是什么?Reader类没有readLine()方法)

6 个答案:

答案 0 :(得分:4)

只需更改

Reader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

BufferedReader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

BufferedReaderreadLine()方法。您不必要地向读者上传并丢失其他功能。

答案 1 :(得分:1)

使用BufferedReader代替Reader进行定义。

BufferedReader is = new BufferedReader(new InputStreamReader(in, "UTF8"));

Bufferedreader有readline方法但不是读者

答案 2 :(得分:1)

您可以将文件存储在SD卡中,并在下面的代码中的“file_path”中指定其位置:

File selectedFile = new File("file_path");
FileInputStream fstream = new FileInputStream(selectedFile);
BufferedReader reader = new BufferedReader(new InputStreamReader(fstream));

然后

while ((strLine = reader.readLine()) != null)
{
        //Do Stuff Here
}

答案 3 :(得分:0)

怎么样?
BufferedReader reader = new BufferedReader(new BufferedInputStream(is));

编辑:抱歉 - 我的错。坚持使用BufferedReader。 打开资源可以用

完成
InputStream is = getClass().getResourceAsStream("/org/example/res/my_file.txt");

Class#getResourceAsStream

答案 4 :(得分:0)

使用这些步骤完成任务....

File f = new File("/sdcard/MyFolder/MyFile.txt");
FileReader fr = new FileReader(f);
BufferedReader br = new BufferedReader(fr);

StringBuilder sb = new StringBuilder();
String str = new String();

while((br.readLine())!=null){


   sb.append(br.readLine());  


 }

str = sb.toString();

答案 5 :(得分:0)

我认为你应该使用类似的东西:

BufferedReader in = new BufferedReader(new     InputStreamReader(activity.getAssets().open("yourfile")));

StringBuilder buffer = new StringBuilder();                 while((line = in.readLine())!= null)buffer.append(line).append('\ n');

在您的资产中,dir只是将您的文件放在没有.txt扩展名的情况下。 希望这能帮助你。