Android FileOutputStream没有创建文件

时间:2015-06-20 17:23:40

标签: java android fileoutputstream

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会通知我它已运行但没有创建文件。我在数据/数据/中查找它,但我的应用程序目录甚至没有。

我也是从这样的片段调用构造函数:

DataBaseManager db = new DataBaseManager();
        db.setDataBase(getActivity().getApplicationContext());

1 个答案:

答案 0 :(得分:2)

  

在物理设备上

您无法通过普通工具访问实际设备上的内部存储空间。主要的例外是你是设备的根目录。

adb shell run-as 允许您运行shell命令,就好像它们正在运行您的应用程序一样,因此原则上您可以使用它来检查内部存储并查看文件是否存在。

更简单的解决方案是使用模拟器,尤其是x86模拟器,因为您可以使用DDMS(在Eclipse中)或Android设备监视器(从Android Studio中启动)浏览模拟器上的内部存储。