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
来读取这样的文件吗?
我试图使用虚拟SD卡,但我不断收到'java.io.FileNotFoundException:/mnt/sdcard/sdTest.txt(权限被拒绝)' – 2011-04-16 20:28:43
您需要添加权限以将SD卡写入应用程序的清单中 - 特别是:WRITE_EXTERNAL_STORAGE。如果你不打算写任何东西,那么你需要打开你的文件只读 – debracey 2011-04-19 00:58:50
'openFileOutput()'目录保存其文件由'getFilesDir()'标识。 OP应该按照你的建议使用'openFileInput()'或者使用'getFilesDir()'来构建一个有效的'File'对象到正确的位置,以便能够直接使用'FileInputStream'。 – CommonsWare 2011-04-16 19:24:42