方法1
try {
Log.d(TAG,"start cp "+file_list[i]+",timeStamp = "+ SystemClock.elapsedRealtime());
FileInputStream inputStream = new FileInputStream(souce_root+"/"+file_list[i]);
FileOutputStream outputStream = new FileOutputStream(xposed_folder.getAbsoluteFile()+"/cache/downloads/framework"+"/"+file_list[i]);
byte[] buffer = new byte[1024];
int byteRead;
while (-1 != (byteRead = inputStream.read(buffer))) {
outputStream.write(buffer, 0, byteRead);
}
inputStream.close();
outputStream.flush();
outputStream.close();
Log.d(TAG,"end cp "+file_list[i]+",timeStamp = "+ SystemClock.elapsedRealtime());
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
方法2
try {
File input = new File(souce_root+"/"+file_list[i]);
File output = new File(xposed_folder.getAbsoluteFile()+"/cache/downloads/framework1"+"/"+file_list[i]);
FileChannel inputStream = new FileInputStream(input).getChannel();
FileChannel outputStream = new FileOutputStream(output).getChannel();
if (outputStream!=null){
try {
outputStream.transferFrom(inputStream,0,inputStream.size());
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStream!=null){
inputStream.close();
}
if (outputStream!=null){
outputStream.close();
}
}
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}