首先,我不是要写信给SDCARD。我想将一些信息写入应用程序使用之间存在的文件。本质上是一个文件,可以保留特定用户的收藏夹。这是代码的样子:

try {
            File file = new File("favorites.txt");

            if (file.exists()) {
                Log.d(TAG, "File does exist.");
                fis = new FileInputStream(file);
                br = new BufferedReader(new InputStreamReader(fis));
            }
            else {
                Log.d(TAG, "File does not exist.");
                return favDests;
            }

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

运行此代码时,我们始终获得“文件不存在”。我们的DDMS日志中的消息。

我们还尝试了以下代码,但无济于事:

try {
            File file = new File(GoLincoln.FAV_DEST_FILE);

            fis = new FileInputStream(file);
            br = new BufferedReader(new InputStreamReader(fis));

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

代码的第二部分导致了FileNotFoundException。

我已经阅读了有关编写和阅读Android上的文件的多个教程,我相信我非常仔细地关注它们,因此我不确定为什么此代码无法成功工作。感谢任何帮助!

有帮助吗?

解决方案

你不应该使用 File 直接课。利用 Activity.getCacheDir() 要获得特定于您应用程序的高速缓存。然后使用 new File(cachedir, "filename.tmp") 创建文件。

其他提示

首选项和SQLLITE都将允许您在不管理自己的文件的情况下拥有持久数据。

要使用共享的首选项,您可以从上下文中获取它,然后您像这样编辑值

mySharedPreferences = context.getSharedPreferences("DatabaseNameWhateverYouWant", 0);
mySharedPreferences.getEditor().putString("MyPreferenceName", "Value").commit();

偏爱

mySharedPreferences.getString("MyPreferenceName", "DefaultValue");

这确实是进行基本首选项的最简单方法,而不是执行文件容易得多。然后支持字符串,大多数基本数据类型都可以添加到首选项类中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top