Android 中文本文件的 FileReader

发布于 2024-12-06 01:52:12 字数 336 浏览 1 评论 0原文

美好时光!

我的 Android 应用程序正在尝试使用通常的 Java 组合来读取简单的文本文件,

FileReader fr = new FileReader("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(fr);

但无论我做什么,我都会收到“文件未找到”异常,尽管此目录中还有另一个 html 文件并正确显示在 WebView 中。
所以,我的问题是:
FileReader 可以用于简单读取文本文件,或者我必须使用 InputStream ?

Good times!

My Android app is trying to read simple text file, using usual Java combination

FileReader fr = new FileReader("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(fr);

But what ever I do, I'm getting File not Found exeption, although there is another html-file in this directory and shown in WebView correctly.
So, my question is:
FileReader can be used for simple reading text file or I have to use InputStream ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

燃情 2024-12-13 01:52:12

你必须像下面这样的InputStream。像这样更改代码。我希望它能工作:

FileInputStream fis = new FileInputStream("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(new InputStreamReader(fis));

You have to InputStream like as follows.Change the code like this.I hope it will work:

FileInputStream fis = new FileInputStream("file:///android_asset/example.txt");
BufferedReader bfr = new BufferedReader(new InputStreamReader(fis));
傲鸠 2024-12-13 01:52:12

使用 getAssets() 方法。

BufferedReader br=new BufferedReader(new 
            InputStreamReader(getAssets().open("example.txt")));

Use getAssets() method.

BufferedReader br=new BufferedReader(new 
            InputStreamReader(getAssets().open("example.txt")));
梦与时光遇 2024-12-13 01:52:12

Android 不知道您的文件在哪里。您必须使用它们的功能。请参阅数据存储部分,特别是关于< a href="http://developer.android.com/guide/topics/data/data-storage.html#filesInternal" rel="nofollow noreferrer">内部存储 以及 Android Context 类 用于打开和写入文件。例如,您可以使用 Context 方法 getFileStreamPath 获取 Java File 对象并将其传递给 Java FileReader。

File yourFile = getFileStreamPath(YOUR_FILENAME);
if (yourFile.exists()) {
    BufferedReader in = new BufferedReader(new FileReader(yourFile));
    ...
    in.close();
}

PS这是一个非常相似的问题回答

Android doesn't know where your files are located. You have to use their functions. See the section called data storage, especially the section on internal storage and the methods in the Android Context class for opening and writing to files. For example you could use the Context method getFileStreamPath to get a Java File object and pass that to a Java FileReader.

File yourFile = getFileStreamPath(YOUR_FILENAME);
if (yourFile.exists()) {
    BufferedReader in = new BufferedReader(new FileReader(yourFile));
    ...
    in.close();
}

P.S. Here's a very similar question and answer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文