生活随笔
收集整理的这篇文章主要介绍了
APK安装时如何拷贝apk里的文件到sdcard
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
一、效果:
安装apk到用户手机上时在用户的SDCard创建文件夹(其实就是建立你唯一的应用的目录咯),以及复制一些你不想编译而有用的文件到你的目录下!
二、关键点:
1、得到sdcard的路径:android.os.Environment.getExternalStorageDirectory().getAbsolutePath()一般都会得到路径“/mnt/sdcard"
2、将你需要复制到用户sdcard的文件放到android代码res/raw路径如”res/raw/flycatdeng.txt",放在raw中的文件不会被编译。通过getResources().openRawResource(R.raw.flycatdeng);方式来获得这个资源,返回InputStream输入流。
3、得到目录或文件 File file=new File(String path); 判断是否有这个文件或目录file.exists(),返回true则表示存在;
4、如果目录不存在则需要创建目录(文件夹),file.mkdirs();//这里非常需要注意,如果是只有一个文件夹的话可以用mkdir(),但是如果你要再文件夹中还要有文件夹的话则需要用到mkdirs()
5、输入输出文件流,可见以下代码
6、最最最关键的是一定要在AndroidManifest.xml文件中配置添加用户权限:
sdcard创建和删除的文件的权限:
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
sdcard文件写入内容的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
三、源码:
Java代码
public class MainActivity extends Activity { private String fileDirPath = android.os.Environment .getExternalStorageDirectory().getAbsolutePath() + "/Mulu01/Mulu02/Mulu03"; private String fileName = "flycatdeng.txt"; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); createFile(); } private void createFile() { String filePath = fileDirPath + "/" + fileName; try { File dir = new File(fileDirPath); if (!dir.exists()) { System.out.println("要存储的目录不存在"); if (dir.mkdirs()) { System.out.println("已经创建文件存储目录"); } else { System.out.println("创建目录失败"); } } File file = new File(filePath); if (!file.exists()) { System.out.println("要打开的文件不存在"); InputStream ins = getResources().openRawResource( R.raw.flycatdeng); System.out.println("开始读入"); FileOutputStream fos = new FileOutputStream(file); System.out.println("开始写出"); byte[] buffer = new byte[8192]; int count = 0; while ((count = ins.read(buffer)) > 0) { fos.write(buffer, 0, count); } System.out.println("已经创建该文件"); fos.close(); ins.close(); } } catch (Exception e) { e.printStackTrace(); } } }
总结
以上是生活随笔为你收集整理的APK安装时如何拷贝apk里的文件到sdcard的全部内容,希望文章能够帮你解决所遇到的问题。
如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。