【发布时间】:2011-04-07 18:32:18
【问题描述】:
Android 为您提供 getDir(我假设这意味着我将拥有 myappspace/somedirectory)在您的应用程序空间中创建一个目录。但是,如果您在 openFileOutput/Input 调用中有路径分隔符,android 给您一个错误,那么您如何读取或写入该目录中的文件?
【问题讨论】:
标签: android
Android 为您提供 getDir(我假设这意味着我将拥有 myappspace/somedirectory)在您的应用程序空间中创建一个目录。但是,如果您在 openFileOutput/Input 调用中有路径分隔符,android 给您一个错误,那么您如何读取或写入该目录中的文件?
【问题讨论】:
标签: android
getDir 返回一个 File 对象。要操作目录和文件结构,请继续使用 File 对象。例如
File dir = getDir("myDir", Context.MODE_PRIVATE);
File myFile = new File(dir, "myFile");
openFileOutput 只是根据一些文本标准返回一个 FileOutputStream。我们所要做的就是创建对象
FileOutputStream out = new FileOutputStream(myFile);
从这里开始,你照常继续。
String hello = "hello world";
out.write(hello.getBytes());
out.close();
FileInputStream 将遵循相同的准则。
【讨论】:
重点是openFileInput() 和openFileOutput() 直接使用该目录中的文件,因此它们不需要绝对路径名。
编辑:更准确地说,它们使用 getFilesDir() 返回的目录中的文件,而不是 getDir() 通常是包根目录。
如果要创建相对于getDir() 的自定义目录,则需要使用openFileInput() 和openFileOutput() 以外的类/方法(例如使用InputStream 和OutputStream 和相关的文件“reader”/“writer”类)。
【讨论】: