Android模拟器写入文件,但无法找到目录

问题描述:

我想获得一个简单的Hello World txt文件,然后通过我的android应用程序读取。在查看DDMS文件资源管理器时,它成功地创建了文本文件,但是当我尝试读取它时,我得到一个FileNotFoundException。Android模拟器写入文件,但无法找到目录

try { 

     final String TESTSTRING = new String("Hello World"); 

     FileOutputStream fOut = openFileOutput("test.txt", MODE_WORLD_READABLE); 
     OutputStreamWriter osw = new OutputStreamWriter(fOut); 

     osw.write(TESTSTRING); 
     osw.flush(); 
     osw.close(); 

     FileInputStream fIn = new FileInputStream("test.txt"); 
     InputStreamReader isr = new InputStreamReader(fIn); 

     char[] inputBuffer = new char[TESTSTRING.length()]; 

     isr.read(inputBuffer); 

     String readString = new String(inputBuffer); 

     boolean isTheSame = TESTSTRING.equals(readString); 

     Log.i("File Reading Stuff", "success = " + isTheSame); 

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

也是错误的是java.io FileNotFoundException: /test.txt (No such file or directory)

任何帮助感谢。

我不知道openFileOutput在哪里保存它的文件,但是不会用它的输入等效于openFileInput来读取这样的文件吗?

+0

'openFileOutput()'目录保存其文件由'getFilesDir()'标识。 OP应该按照你的建议使用'openFileInput()'或者使用'getFilesDir()'来构建一个有效的'File'对象到正确的位置,以便能够直接使用'FileInputStream'。 – CommonsWare 2011-04-16 19:24:42

见我以前的帖子关于如何读取信息/写在Android的外部存储目录:

Android how to use Environment.getExternalStorageDirectory()

- 丹

+0

我试图使用虚拟SD卡,但我不断收到'java.io.FileNotFoundException:/mnt/sdcard/sdTest.txt(权限被拒绝)' – 2011-04-16 20:28:43

+0

您需要添加权限以将SD卡写入应用程序的清单中 - 特别是:WRITE_EXTERNAL_STORAGE。如果你不打算写任何东西,那么你需要打开你的文件只读 – debracey 2011-04-19 00:58:50