繁体   English   中英

Android阅读文本文件

[英]Android Reading a Text File

我正在Android Studio中创建一个项目,我的项目文件夹中有一个文本文件,每次编译时,我希望我的代码读取.txt文件。 当每一件事都完成后,我希望.txt文件在.apk文件中。 我不是想从SD卡等读取

但是每次编译时我都会收到“File not found Exception”。 在使用eclipse时,当你将.txt文件放在与项目相同的目录中时,代码可以找到.txt文件而没有问题但是在Android Studio中,它找不到我刚创建的文本文件。 我在哪里将.txt文件放在项目文件夹中?
这是代码:

FileReader in = new FileReader("TEXTgreetingKeywords.txt"); 
final BufferedReader br = new BufferedReader(new InputStreamReader(in));

我曾经用同样的方法在Java中读取文本文件。 我不明白为什么它不能用于Android,因为它也使用Java。

编辑 - - -

我使用了资产管理器,但我又遇到了同样的错误

AssetManager asset = getAssets();
    try {
         in = asset.open("text.txt");
    } catch (IOException e) {
        e.printStackTrace();
    }

我是否必须将目录更改为“C:\\ App \\ main \\ text.txt”?

资产中 读取文本文件:

在Resources目录中创建原始文件夹

将文件粘贴原始文件夹中:

文件中 读取文字

private String readText() {
        InputStream inputStream = getResources().openRawResource(
                R.raw.license_agreement);
        ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
        int i;
        try {
            i = inputStream.read();
            while (i != -1) {
                byteArrayOutputStream.write(i);
                i = inputStream.read();
            }
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return byteArrayOutputStream.toString();
    }

希望它会对你有所帮助。

完成R. Adang评论:您正在寻找assets文件夹。 您必须将它放在res文件夹所在的位置。 assets文件将包含在APK中。

您可以使用AssetManager访问assets的文件。 使用context.getAssets()获取您的AssetManager实例

在这种情况下,文件访问不仅是java的东西,你在这里也有android,这可能会产生问题。 你使用File是从应用程序位置打开文件。 要访问您的文件目录,您应该使用: context.getFilesDir()

比你使用基本的File构造函数。 我希望这就是你要找的东西

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM