手记

文件操作之——将accets下资源copy到本地

以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();

}

原文链接:http://www.apkbus.com/blog-19685-61626.html

0人推荐
随时随地看视频
慕课网APP