我如何检查临时文件是否已创建并从 okHttp3 客户端成功写入?

How I can inspect that a temporary file has been created and sucessfuly written from an okHttp3 client?

我尝试使用 okHttp3 下载压缩包:

    Request request = new Request.Builder().url("http://example.com/myfile.tar.gz").build();
    Response response = client.newCall(request).execute();
    ResponseBody downloadedTar = response.body();

    // Status code checks goes here
    if (downloadedTar == null) {
       throw new SettingsFailedException();
    }

    File file = File.createTempFile(System.currentTimeMillis()+"_file", ".tar.gz", getContext().getCacheDir());
     FileOutputStream download = new FileOutputStream(file);

     download.write(downloadedTar.body().bytes());
     download.flush();
     download.close();

但是如何在不需要编写代码的情况下检查临时文件是否已经创建?是否有某种工具可以让我检查应用程序的缓存目录?

您可以通过 adb 以 root 身份检查:

adb root
adb shell

在 shell 然后 运行:

ls -l ^path^

^path^ 值可以通过断点获得:

     FileOutputStream download = new FileOutputStream(file);

并评估 file.toString()

或通过下面的日志条目:

Log.d("Debug",file.toString());

然后在 Logcat 上寻找它(如果按 Debug 过滤,你会有更好的改变)。


注:

为了使用断点,您需要:

  1. Select 如图所示的行

  1. 然后点击挖图标:

您可以在以下位置找到更详细的示例: https://www.youtube.com/watch?v=t2_Mtx9xzF8