Android阅读文本文件

时间:2015-07-21 14:49:48

标签: java android eclipse text filenotfoundexception

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

但我得到"文件未找到例外"每次我编译。在使用eclipse时,当你将.txt文件放在与项目相同的目录中时,代码可以找到.txt文件而没有问题但是在Android Studio中,它找不到我刚创建的文本文件。我在哪里将.txt文件放在项目文件夹中? 这是代码:

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

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

EDIT ------

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

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

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

3 个答案:

答案 0 :(得分:2)

读取文字文件来自资产

在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();
    }

希望它会对你有所帮助。

答案 1 :(得分:0)

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

您可以使用AssetManagerassets中访问您的文件。使用context.getAssets()

获取AssetManager实例

答案 2 :(得分:-1)

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

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