Android FileOutputStream 未创建文件
Android FileOutputStream not creating files
package org.jaberrio.personai2;
import android.content.Context;
import android.widget.Toast;
import java.io.FileOutputStream;
public class DataBaseManager {
public void setDataBase(Context context) {
String fileName = "CoolDataBaseFile.txt";
String inputText = "Random Text Goes Here";
FileOutputStream outputStream;
try {
outputStream = context.openFileOutput(fileName, context.MODE_PRIVATE);
outputStream.write(inputText.getBytes());
outputStream.close();
Toast finishedLoad = Toast.makeText(context, "I Have Finished Loading", Toast.LENGTH_SHORT);
finishedLoad.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
现在我正在尝试创建一个文件,但是当我调用此构造函数时,Toast 通知我它 运行 但没有创建文件。我在 data/data/ 中查找它,但我的应用程序目录甚至不存在。
我也从这样的片段调用构造函数:
DataBaseManager db = new DataBaseManager();
db.setDataBase(getActivity().getApplicationContext());
On a Physical Device
您无法通过常规工具访问实际设备上的内部存储。主要的例外是如果您对设备进行 root。
adb shell run-as
允许您 运行 shell 命令,就好像它们是 运行 您的应用程序一样,等等原则上您可以使用它来检查内部存储并查看文件是否存在。
更简单的解决方案是使用模拟器,尤其是 x86 模拟器,因为您可以使用 DDMS(在 Eclipse 中)或 Android 设备监视器(从 [=20 启动)浏览模拟器上的内部存储=]工作室)。
package org.jaberrio.personai2;
import android.content.Context;
import android.widget.Toast;
import java.io.FileOutputStream;
public class DataBaseManager {
public void setDataBase(Context context) {
String fileName = "CoolDataBaseFile.txt";
String inputText = "Random Text Goes Here";
FileOutputStream outputStream;
try {
outputStream = context.openFileOutput(fileName, context.MODE_PRIVATE);
outputStream.write(inputText.getBytes());
outputStream.close();
Toast finishedLoad = Toast.makeText(context, "I Have Finished Loading", Toast.LENGTH_SHORT);
finishedLoad.show();
} catch (Exception e) {
e.printStackTrace();
}
}
}
现在我正在尝试创建一个文件,但是当我调用此构造函数时,Toast 通知我它 运行 但没有创建文件。我在 data/data/ 中查找它,但我的应用程序目录甚至不存在。
我也从这样的片段调用构造函数:
DataBaseManager db = new DataBaseManager();
db.setDataBase(getActivity().getApplicationContext());
On a Physical Device
您无法通过常规工具访问实际设备上的内部存储。主要的例外是如果您对设备进行 root。
adb shell run-as
允许您 运行 shell 命令,就好像它们是 运行 您的应用程序一样,等等原则上您可以使用它来检查内部存储并查看文件是否存在。
更简单的解决方案是使用模拟器,尤其是 x86 模拟器,因为您可以使用 DDMS(在 Eclipse 中)或 Android 设备监视器(从 [=20 启动)浏览模拟器上的内部存储=]工作室)。