我正在为我的 Kindle Fire 开发一个应用程序,我只是在尝试编写一个文件,然后再次打开它。保存过程似乎工作正常,但是每当我尝试按下加载按钮时,当我尝试使用它时它会抛出一个FileNotFoundExeception
和一个后续。NullPointerExeception
我说它似乎工作正常,因为我实际上无法在我的 kindle 上查看目录,当我按下保存按钮时没有抛出任何错误。该目录列为/mnt/sdcard/Android/data/portalboat.concept/files/BLUH.txt
,但只要我单击该/mnt/sdcard
目录中的 Android 文件夹,它就会将我重定向到/sdcard/Android
,而不是/mnt/sdcard/Android
。我可以查看完整目录中的任何内容,但我不确定它是否相同。
我已经运行mkdirs()
并且createNewFile(),
没有抛出任何错误,所以人们会认为正在创建文件。但显然不是,因为当我尝试使用 EXACT SAME File 类创建行加载它时,我得到了 FileNotFoundException 。
有没有人知道可能导致这种情况的原因?
显然,SaveText 是保存函数,LoadText 是加载函数。
public void SaveText(View view)
{
File CS_File = new File(this.getExternalFilesDir(null), "BLUH.txt");
CS_File.mkdirs();
try {
CS_File.createNewFile();
FileWriter CS_FileWriter = new FileWriter(CS_File);
EditText CS_EditText = (EditText)findViewById(R.id.createscreen_edittext);
String CS_MessageTemp = CS_EditText.getText().toString();
CS_FileWriter.write(CS_MessageTemp);
CS_FileWriter.close();
}
catch (IOException e) {
Log.w("WriteFile", "Error writing" + CS_File, e);
}
TextView CS_TestText = (TextView)findViewById(R.id.createscreen_testtext);
CS_TestText.setText(CS_File.toString());
}
public void LoadText(View view)
{
File CS_File = new File(this.getExternalFilesDir(null), "BLUH.txt");
String CS_Message = "";
try {
FileInputStream CS_FileInputS = new FileInputStream(CS_File);
CS_FileInputS.read(CS_Message.getBytes(), 0, CS_Message.length());
CS_FileInputS.close();
} catch (IOException e) {
Log.w("LoadFile", "Error loading" + CS_File, e);
}
Intent INT_DisplayScreen = new Intent(this, ACT_DisplayScreen.class);
INT_DisplayScreen.putExtra(EXTRA_MESSAGE, CS_Message);
startActivity(INT_DisplayScreen);
}
错误转储。(链接处的完整转储)
08-20 17:23:31.349: W/LoadFile(1399): Error loading/mnt/sdcard/Android/data/portalboat.concept/files/BLUH.txt
08-20 17:23:31.349: W/LoadFile(1399): java.io.FileNotFoundException: /mnt/sdcard/Android/data/portalboat.concept/files/BLUH.txt: open failed: ENOENT (No such file or directory)
08-20 17:23:31.349: W/LoadFile(1399): at libcore.io.IoBridge.open(IoBridge.java:406)
08-20 17:23:31.349: W/LoadFile(1399): at java.io.FileInputStream.<init>(FileInputStream.java:78)
08-20 17:23:31.349: W/LoadFile(1399): at portalboat.concept.ACT_CreateScreen.LoadText(ACT_CreateScreen.java:86)
08-20 17:23:31.349: W/LoadFile(1399): at java.lang.reflect.Method.invokeNative(Native Method)
08-20 17:23:31.349: W/LoadFile(1399): at java.lang.reflect.Method.invoke(Method.java:511)
08-20 17:23:31.349: W/LoadFile(1399): at android.view.View$1.onClick(View.java:3068)
08-20 17:23:31.349: W/LoadFile(1399): at android.view.View.performClick(View.java:3540)
08-20 17:23:31.349: W/LoadFile(1399): at android.view.View$PerformClick.run(View.java:14167)
08-20 17:23:31.349: W/LoadFile(1399): at android.os.Handler.handleCallback(Handler.java:605)