【问题标题】:Write to a Text File Resource in Android在 Android 中写入文本文件资源
【发布时间】:2012-05-04 22:44:34
【问题描述】:

有谁知道如何在 Android 中使用如下资源写入文本文件:

R.raw.my_text_file

我只是在寻找干净简单的东西。我已经用谷歌搜索了,但我发现的例子没有用。我尝试使用 Android 文档进行编码,但无法理解...

谢谢

编辑:

我已使用 Android 文档来创建此代码。日志打印出“1”和“9”,代码跳过中间的所有内容,什么也不做:

    try {
        String filename = "res/raw/my_text_file.txt";
        String string;

        Log.v(TAG, "1");
        FileOutputStream fos = openFileOutput(filename, Context.MODE_PRIVATE);
        Log.v(TAG, "2");

        for (int i = 0; i < list.size(); i++) {
            Log.v(TAG, "3");
            try {
                Log.v(TAG, "4");
                string = i + " - " + list.get(i);
                fos.write(string.getBytes());
            } catch (Exception e) {
                Log.v(TAG, "5");
            }
            Log.v(TAG, "6");
        }
        Log.v(TAG, "7");
        fos.close();
        Log.v(TAG, "8");
    } catch (Exception e) {

    }
    Log.v(TAG, "9");

【问题讨论】:

    标签: android file writetofile


    【解决方案1】:

    有谁知道如何在 Android 中使用资源写入文本文件

    资源在运行时是只读的,不能写入。

    【讨论】:

    • 在这种情况下,如果我以普通的 Java 方式写入文本文件会起作用吗?
    • @ThreaT:当然欢迎您使用标准 Java I/O 写入内部或外部存储。 developer.android.com/guide/topics/data/data-storage.html
    • 另外,如何获取资源的文件路径?
    • @ThreaT:没有“资源的文件路径”。资源在运行时不是文件。
    • 哦...好吧,我更新了上面的代码,有什么想法为什么它不写入文件吗?
    【解决方案2】:

    正如@CommonsWare 所说,您不能在资源上写入,但您可以使用 openFileOutput 和 openFileInput 以及 BufferedReaders 和 BufferedWriters 使用内部存储。你可以在这里查看:

    http://developer.android.com/guide/topics/data/data-storage.html#filesInternal

    但这里有一个示例:

    BufferedReader BR_intFile = new BufferedReader(new InputStreamReader(openFileInput("file")));

    要读和写类似的代码。

    【讨论】:

    • 谢谢。我读了,就是写不下去了。我将我的代码粘贴在上面问题的“编辑”部分下。
    • 尝试将文件保存在 res/raw 以外的位置
    • 好的,当我成功时: String filename = "hello_file";然后它会遍历并记录所有数字并运行所有代码,但文件“hello_file”在我的工作区中的任何地方都不存在 - 所以我认为它没有创建它。我也应该创建它吗?如果有,你知道怎么做吗?
    • 如果您想检查从应用程序中读取的内容,因为我认为该文件是应用程序私有的,您无法从其中访问它。
    • 没有办法写入位于应用程序外部的文件吗?
    猜你喜欢
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-26
    • 1970-01-01
    • 2019-09-18
    • 2017-02-06
    • 2020-05-27
    相关资源
    最近更新 更多