gpt4 book ai didi

java - 将系统应用程序的文件复制到另一个位置时出错

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

我正在开发一个系统应用,其中我必须将属于另一个系统应用的 xml 文件复制到我的root的已知位置> 电话。首先,我尝试使用 adb shell 和命令在命令提示符中执行此操作

cp /data/data/owner_app_pkg_name/shared_prefs/file.xml /storage/sdcard0/FOLDERNAME/file2.xml

效果非常好。

但是,当我尝试在我的系统应用程序中以编程方式执行相同的操作时,使用

Process p = Runtime.getRuntime().exec("cp /data/data/owner_app_pkg_name/shared_prefs/file.xml /storage/sdcard0/FOLDERNAME/file2.xml");

它不起作用。

此外,如果我通过系统的命令提示符在同一目录中创建了 file.xml 的副本,然后使用执行我的应用中的复制文件名,它可以工作。

有人可以告诉我我必须做什么才能使用my的java代码将所有者系统应用使用的file.xml直接复制到我想要的位置强>系统应用程序正如我上面提到的?

最佳答案

 public void copyFile() throws IOException {
InputStream inStream = new FileInputStream(new File("/data/data/owner_app_pkg_name/shared_prefs/file.xml"));
OutputStream outStream= new FileOutputStream(new File("/storage/sdcard0/FOLDERNAME/file2.xml"));

// Transfer bytes from in to outStream
byte[] buf = new byte[1024];
int len;
while ((len = inStream.read(buf)) > 0) {
outStream.write(buf, 0, len);
}
inStream.close();
outStream.close();
}

关于java - 将系统应用程序的文件复制到另一个位置时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20374810/

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