【问题标题】:Where should Android App data be stored? How should I write to a file?Android App 数据应该存储在哪里?我应该如何写入文件?
【发布时间】:2014-01-19 05:18:11
【问题描述】:

我的 Android 应用程序(用 Eclipse 编写)的 CSV 输出文本文件应该存储在哪里。我目前使用:

> File peopledetail_file = new File(this.getFilesDir(),
> "PeopleDetailsFile");

InputStream filestream = openFileInput("PeopleDetailsFile");

访问我的文件。这显然不起作用,因为我收到一个错误,说在这个位置找不到它

/data/data/com.example.partyorganiser/files/PeopleDetailsFile

【问题讨论】:

  • 我正在寻找一种以简单方式读写文本的系统。似乎作者在工作,但在与读者阅读的位置不同的位置写入

标签: java android eclipse file file-io


【解决方案1】:

要创建文件,您必须调用 peopledetail_file.createNewFile() 然后写入文件

File peopledetail_file = new File(this.getFilesDir(), "PeopleDetailsFile");
peopledetail_file.createNewFile();
FileOutputStream fos = new FileOutputStream(peopledetail_file);
// do writing ...
PrintWriter pw = new PrintWriter(fos);
pw.print("Hello");
pw.flush
fos.flush();
fos.close();

【讨论】:

  • 好的,谢谢!!我应该用什么来读回这个???谢谢!!大概 fos.write(string) 是用来写的?? :)
  • 可以使用扫描仪阅读; fos.write(object) 用于在文件中写入字节,例如在文件中写入对象的字节。
【解决方案2】:

如果您要使用openFileInput(),请使用openFileOutput()

如果您要使用getFilesDir() 作为输出,请使用getFilesDir() 作为输入。

【讨论】:

  • 不,但我想我知道问题所在。写入时,它不会创建文件。我该如何指定?谢谢您的帮助!! :)
  • @SwedishArchitect:您通过写入文件来创建文件。这是标准的 Java I/O。
  • 是的,我也这么认为,但错误消息显示 - “java.io.FileNotFoundException: /data/data/com.example.partyorganiser/files/PeopleDetailsFile: open failed: ENOENT (No such文件或目录)”写入时...
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-10-11
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 2018-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多