我想要複製其他程序底下的shared_prefs/內的檔案,並複製到一個名為bgyy的檔案, 可是總是報錯? 可否有人幫解決
private void copy()
{
try
{
Process root = Runtime.getRuntime().exec("su");
File sd = Environment.getExternalStorageDirectory();
String path=sd.getPath()+"/bgyy";
File files=new File(path);
//files.mkdir();
if (sd.canWrite()) {
files.mkdir();
File file = new File("/data/data/otherpackagename/shared_prefs/CCC.xml");
File fos = new File("/sdcard/bgyy/CCC.xml");
FileInputStream inStream = new FileInputStream(file);
FileOutputStream outStream = new FileOutputStream(fos);
if(!file.exists()){
// 寫入檔案
int readLen = 0;
byte[] buf = new byte[1024];
while ((readLen = inStream.read(buf)) != -1) {
outStream.write(buf, 0, readLen);
}
//inStream.flush();
inStream.close();
outStream.close();
}
}
}catch(Exception e)
{
e.printStackTrace();
}
07-23 08:07:24.583: W/System.err(29841): java.io.FileNotFoundException: /data/data/otherpackagename/shared_prefs/CCC.xml: open failed: EACCES (Permission denied)
07-23 08:07:24.583: W/System.err(29841): at libcore.io.IoBridge.open(IoBridge.java:416)
07-23 08:07:24.583: W/System.err(29841): at java.io.FileInputStream.<init>(FileInputStream.java:78)
07-23 08:07:24.583: W/System.err(29841): at com.XXX.MainActivity.copyDatabase(MainActivity.java:81)
07-23 08:07:24.583: W/System.err(29841): at com.XXX.MainActivity.access$0(MainActivity.java:65)
07-23 08:07:24.583: W/System.err(29841): at com.XXX.MainActivity$1.onClick(MainActivity.java:62)
07-23 08:07:24.583: W/System.err(29841): at android.view.View.performClick(View.java:4084)