以assets下的一个字体文件为例:
//目录第一段:
String fontP1 = Environment.getExternalStorageDirectory().getPath()+ File.separator + "WDWK";
//目录第二段:
String fontsP2="fonts" + File.separator+"SourceHanSans.ttf";
//方法调用
Utils.copyBigDataToSD(fontP1,fontP2);
//方法实现
public static void copyAssetsDataToSD(String strOutFileName, String dirPath)
throws IOException {
File dirFile = new File(strOutFileName);
if (!dirFile.exists()) {
boolean ok = dirFile.mkdirs(); // 第一段
}
File file = new File(strOutFileName + File.separator + dirPath);
if (!file.getParentFile().exists()) {
// 分两次mkdirs,是为了避免目录层级过高导致目录创建失败的情况
boolean isOk = file.getParentFile().mkdirs();
}
if (!file.exists()) {
file.createNewFile();
}
InputStream myInput;
OutputStream myOutput = new FileOutputStream(file.getPath());
myInput = ContextUtil.getInstance().getAssets()
.open("SourceHanSans.ttf");
byte[] buffer = new byte[1024];
int length = myInput.read(buffer);
while (length > 0) {
myOutput.write(buffer, 0, length);
length = myInput.read(buffer);
}
myOutput.flush();
myInput.close();
myOutput.close();
}
共同学习,写下你的评论
评论加载中...
作者其他优质文章