所以..我真的很沮丧。 它仍然在发生。 我想做的就是复制一个文件夹,里面的文件,它的子文件夹,里面的文件等等。 听起来很简单吧? 好吧,这是我的代码 - 请告诉我我做错了什么。我已经尝试了所有方法,所有方法,最终使用FileUtils,我觉得最简单..
启动startCopy:
try{startCopy();}catch (IOException e){Toast.makeText(getApplicationContext(), "Unknown Error", Toast.LENGTH_SHORT).show();}
和startCopy本身:
public void startCopy() throws IOException{
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
String blitzWhere = prefs.getString("blitzWhere", null);
Spinner SpinnerReplace=(Spinner) findViewById(R.id.SpinnerReplace);
String toReplace = SpinnerReplace.getSelectedItem().toString();
Spinner SpinnerReplaceWith=(Spinner) findViewById(R.id.SpinnerReplaceWith);
String replacedBy = SpinnerReplaceWith.getSelectedItem().toString();
File lowBackup = new File(blitzWhere + "/Android/data/net.wargaming.wot.blitz/files/Data/3d/Maps/hangarlow_b");
File premiumBackup = new File(blitzWhere + "/Android/data/net.wargaming.wot.blitz/files/Data/3d/Maps/hangar_b");
lowBackup.mkdirs();
premiumBackup.mkdirs();
if (!lowBackup.isDirectory() && !premiumBackup.isDirectory()){
File hangarLow = new File(blitzWhere + "/Android/data/net.wargaming.wot.blitz/files/Data/3d/Maps/hangarlow");
File hangar = new File(blitzWhere + "/Android/data/net.wargaming.wot.blitz/files/Data/3d/Maps/hangar");
lowBackup.mkdirs();
premiumBackup.mkdirs();
FileUtils.copyDirectory(hangarLow, lowBackup);
FileUtils.copyDirectory(hangar, premiumBackup);
}
Toast.makeText(getApplicationContext(), blitzWhere, Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), toReplace, Toast.LENGTH_LONG).show();
Toast.makeText(getApplicationContext(), replacedBy, Toast.LENGTH_LONG).show();
successfulCopy();
}
它所做的一切就是它提供了“未知错误”消息,如果抛出IOException,这就是我想要的。 我是一个Java新手,我正在学习。 当然,两个文件夹(hangar_b和hangarlow_b)都不存在,否则问题就出在这里。 那么,有什么想法吗? 感谢。