gpt4 book ai didi

java - 我正在尝试在 android 日志中打印或写入 protected file/data/data/com.package/file

转载 作者:太空宇宙 更新时间:2023-11-04 09:02:04 25 4
gpt4 key购买 nike

我试过了

File f = new File("/data/data/mypackge/test");
f.setReadable(true);

Log.d("TEST", MainActivity.getFileContents(f));
} catch (Exception e) {
e.printStackTrace();
finish();

但它给出了错误

java.io.FileNotFoundException: /data/data/mypackage/test: open failed: EACCES (Permission denied)
03-16 00:53:19.897 4231 4231 W System.err: at libcore.io.IoBridge.open(IoBridge.java:452)
03-16 00:53:19.897 4231 4231 W System.err: at java.io.FileInputStream.<init>(FileInputStream.java:76)
03-16 00:53:19.897 4231 4231 W System.err: at com.mypackage.MainActivity.getFileContents(MainActivity.java:58)
03-16 00:53:19.897 4231 4231 W System.err: at com.mypackage.MainActivity.onCreate(MainActivity.java:50)
03-16 00:53:19.897 4231 4231 W System.err: at android.app.Activity.performCreate(Activity.java:6237)
03-16 00:53:19.897 4231 4231 W System.err: at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
03-16 00:53:19.897 4231 4231 W System.err: at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
03-16 00:53:19.897 4231 4231 W System.err: at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476)
03-16 00:53:19.897 4231 4231 W System.err: at android.app.ActivityThread.-wrap11(ActivityThread.java)
03-16 00:53:19.897 4231 4231 W System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344)
03-16 00:53:19.897 4231 4231 W System.err: at android.os.Handler.dispatchMessage(Handler.java:102)
03-16 00:53:19.897 4231 4231 W System.err: at android.os.Looper.loop(Looper.java:148)
03-16 00:53:19.897 4231 4231 W System.err: at android.app.ActivityThread.main(ActivityThread.java:5417)
03-16 00:53:19.897 4231 4231 W System.err: at java.lang.reflect.Method.invoke(Native Method)
03-16 00:53:19.897 4231 4231 W System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
03-16 00:53:19.897 4231 4231 W System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
03-16 00:53:19.897 4231 4231 W System.err: Caused by: android.system.ErrnoException: open failed: EACCES (Permission denied)
03-16 00:53:19.897 4231 4231 W System.err: at libcore.io.Posix.open(Native Method)
03-16 00:53:19.897 4231 4231 W System.err: at libcore.io.BlockGuardOs.open(BlockGuardOs.java:186)
03-16 00:53:19.897 4231 4231 W System.err: at libcore.io.IoBridge.open(IoBridge.java:438)
03-16 00:53:19.897 4231 4231 W System.err: ... 15 more

我尝试了代码中的大部分更改,但无法得到这一点,请任何人对此线程有解决方案答案,欢迎从 android 5.1 到 9 的任何 Android 版本答案,我的应用程序必须在我的应用程序目录/data/data/myapp/file 中的中央日志中写入一个文件,请帮助任何人知道这一点。

最佳答案

你需要做两件事,首先,检查 f.exists()if(!f.exists()) return;

然后,您需要使用new File(getExternalFilesDir(null), "path-to-your-file");

这应该安全地创建文件的链接。

编辑

如果您想要数据目录,请使用getInternalFilesDir()

关于java - 我正在尝试在 android 日志中打印或写入 protected file/data/data/com.package/file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60700575/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com