我希望能够在我的应用程序附带的文件 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()方法)
答案 0 :(得分:4)
只需更改
Reader is = new BufferedReader(new InputStreamReader(in, "UTF8"));
到
BufferedReader is = new BufferedReader(new InputStreamReader(in, "UTF8"));
BufferedReader
有readLine()
方法。您不必要地向读者上传并丢失其他功能。
答案 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");
答案 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扩展名的情况下。 希望这能帮助你。