代码如下所示,我设置一个断点以检查文件是否成功创建,但是在调试窗口中变量值是一个空字符串,如图所示,为什么会发生这种情况?可能需要打开IDE的某些选项?

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        File file = new File(getFilesDir(), "img.png");
        try {
            file.createNewFile();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }


android - 调试时看不到变量值-LMLPHP

android studio版本是3.1.4

编辑:
现在这个问题严重影响了我的发展,我将读取如下文件:

        FileInputStream fis = null;
        try {
            fis = new FileInputStream(file);
        } catch (FileNotFoundException e) {
            e.printStackTrace();//throw exception
        }


但是我可以看到该文件确实存在于我的应用程序专用文件夹中,为什么会这样呢?我试图在外部存储中写入和读取文件,但结果相同。

最佳答案

这是一个奇怪的问题。当我尝试您在测试应用程序中发布的代码时,我可以看到getFilesDir()的值。它向我指出了可能是环境问题的方向。就我而言,我尝试在配置为具有API级别23的Nexus 6p的仿真器上进行检查,建议您尝试使用其他具有不同配置的设备或新仿真器。这可能是模拟器或设备错误。

09-11 22:38